题目描述:
输入一个偶数 N(N<=10000)N(N<=10000),验证4~N所有偶数是否符合哥德巴赫猜想:任一大于 2 的偶数都可写成两个质数之和。如果一个数不止一种分法,则输出第一个加数相比其他分法最小的方案。例如 10,10=3+7=5+5,则 10=5+5 是错误答案。
要点:
偶数、质数。
这一道题跟P1075 [NOIP2012 普及组] 质因数分解很像,当然如果你不怕麻烦的话枚举也是可以做出来的。
P1075 [NOIP2012 普及组] 质因数分解代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
for(int i=2;i<=n;i++){//循环从2开始
if(n%i==0){//判断是否是质因数
cout<<n/i;//输出最大的质因数
break;//适时退出
}
}
return 0;
}
我们把这段代码稍微的改一点,符合题意:
#include <bits/stdc++.h>
using namespace