#CS51001. 完善程序10-数论-1哥德巴赫猜想
哥德巴赫猜想
哥德巴赫猜想是指,任一大于 2 的偶数都可写成两个质数之和。迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠。试编写程序,验证任一大于 2 且不超过 n 的偶数都能写成两个质数之和。
- ①处应填( )
- ②处应填( )
- ③处应填( )
- ④处应填( )
- ⑤处应填( )
哥德巴赫猜想是指,任一大于 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;
}
注册一个 BCOI 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。