牛客網-2019校招真題-學數學

1、題目

數學老師正在教授小暢和小遊兩人素數的概念。爲了幫助鞏固兩人的知識,老師說出一個數,要求小遊和小暢合做,每人說出一個素數,使得兩人說出的素數的和恰好等於老師說出的數。請編寫程序計算兩人說出的素數對的個數。如,老師說10,小暢和小遊能夠說出兩對素數,分別爲(5,5)和(3,7)(不考慮順序)。

輸入描述:

輸入包括一個整數n,(3 ≤ n < 1000)

輸出描述:

輸出符合條件的素數對的個數
示例1

輸入

10

輸出

2
2、實現
 1  public static void Main(string[] args)
 2         {
 3             int n=Convert.ToInt32( Console.ReadLine());
 4             int i = 2;
 5             int count=0;
 6             for(;i<n;i++)
 7             {
 8                 bool issu1=true;
 9                 int k=2;
10                 for(;k<i;k++)
11                 {
12                     if(i%k==0)
13                     {
14                         issu1=false;
15                     }
16                 }
17                 if(issu1==true)
18                 {
19                     
20                     int j=2;
21                     for(;j<=i;j++)
22                     {
23                        bool issu2=true; 
24                         int m=2;
25                         for(;m<j;m++)
26                         {
27                            if(j%m==0)
28                               {
29                                  issu2=false;
30                               }
31                         }
32                         
33                         if(issu2==true&&i+j==n)
34                         {
35                            
36                             count++;
37                             
38                         }
39                             
40                     }
41                 }
42                     
43             }
44                 
45             Console.WriteLine(count);
46             
47         }

3、總結spa

case不能徹底經過,我還覺得是嵌套了太多層的for循環和if,引入了一些我考慮以外的狀況。結果是33行isssu2=true,少寫了一個等號,可是居然編譯經過了?code

相關文章
相關標籤/搜索