(哥德巴赫猜想) 哥德巴赫猜想是指任一大于2的偶数都可以写成两个质数之和。迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠,试编写程序,验证任一大于2且不超过n的偶数都能写成两个质数之和。
1 #include<iostream>
2 using
namespace std;
3 int
main()
4 {
5 const
int SIZE=1000;
6 int
n,r,p[SIZE],i,j,k,ans;
7 bool
tmp;
8 cin>>n;
9 r=1;
10 p[1]=2;
11 ans=0;
12 for(i=3;i<=n;i++){
13 __①__;
14 for(j=1;j<=r;j++)
15 if(i%__②__==0){
16 tmp=false;
17 break;
18 }
19 if(tmp){
20 r++;
21 __③__;
22 }
23 }
24 for(i=2;i<=n/2;i++){
25 tmp=false;
26 for(j=1;
j<=r; j++)
27 for(k=j;
k<=r; k++)
28 if(
i+i==__④__) {
29 tmp=true;
30 break;
31 }
32 if(tmp)
33 ans++;
34 }
35 cout<<ans<<endl;
36 return
0;
37 }
若输入n=2010,则输出__⑤__时表示验证成功,即大于2且不超过2010的偶数都满足哥德巴赫猜想。
(1)①处应填( )。
A.
k=0 B. p[i]=i C. tmp=true D. p[i]=r
(2)②处应填( )。
A.
p[j] B. p[n] C. n D. j
(3)③处应填( )。
A.
p[r]=i B. p[j]=i C. tmp=true D.
ans++
(4)④处应填( )。
A.
j+k B. p[j]+p[k] C. p[j] D. p[k]
(5)⑤处应填( )。
A.
2010 B. 1005 C. 2009 D. 1004