#10788. 数论【NOIP2010】哥德巴赫猜想
数论【NOIP2010】哥德巴赫猜想
1. 【NOIP2010】哥德巴赫猜想
哥德巴赫猜想是指任一大千2的偶数都可以写成两个质数之和。编写程序验证任一大于2且不超过n的偶数都能写成两个质数之和。
补全程序:
#include<iostream>
using namespace std;
int main() {
const int SIZE=1000;
int n, r, p[SIZE], i, j, k, ans;
bool tmp;
cin >> n;
r = 1;
p[1] = 2;
for (i = 3; i <= n; i++) {
① ;
for (j = 1; j <= r; j++)
if (i % ② == 0) {
tmp = false;
break;
}
if (tmp) {
r++;
③ ;
}
}
ans = 0;
for (i = 2; i <= n / 2; i++) {
tmp = false;
for (j = 1; j <= r; j++)
for (k = j; k <= r; k++)
if (i + i == ④) {
tmp = true;
break;
}
if (tmp)
ans++;
}
cout << ans << endl;
return 0;
}
选择题:
- ①处应填( )
{{ select(1) }}
- k=0
- p[i]=i
- tmp=true
- p[i]=r
- ②处应填( )
{{ select(2) }}
- p[j]
- p[n]
- n
- j
- ③处应填( )
{{ select(3) }}
- p[r]=i
- p[j]=i
- tmp=true
- ans++
- ④处应填( )
{{ select(4) }}
- j+k
- p[j]+p[k]
- p[j]
- p[k]
- ⑤处应填( )
{{ select(5) }}
- 2010
- 1005
- 2009
- 1004