level 11
你欠我钱1027
楼主
关于万恶之源……我为何对哥德巴赫猜想爱之深黑之切![[滑稽]](/static/emoticons/u6ed1u7a3d.png)
NOIP2010普及组初赛(C++)![[滑稽]](/static/emoticons/u6ed1u7a3d.png)
1.(哥德巴赫猜想)哥德巴赫猜想是指,任一大于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;
}
若输入n为2010,则输出 ⑤ 时表示验证成功,即大于2且不超过2010的偶数都满足哥德巴赫猜想。
这就是万恶之源啊
2014年08月25日 13点08分
1
NOIP2010普及组初赛(C++)
1.(哥德巴赫猜想)哥德巴赫猜想是指,任一大于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;
}
若输入n为2010,则输出 ⑤ 时表示验证成功,即大于2且不超过2010的偶数都满足哥德巴赫猜想。
这就是万恶之源啊
