题目描述
输入N(N<=10000),验证4~N所有偶数是否符合哥德巴赫猜想。
(N为偶数)。
如果一个数,例如10,则输出第一个加数相比其他解法最小的方案。如10=3+7=5+5,则10=5+5是错误答案。
输入输出格式
输入格式:
第一行N
输出格式:
4=2+2 6=3+3 …… N=x+y
输入输出样例
输入样例#1:
10
输出样例#1:
4=2+2
6=3+3
8=3+5
10=3+7
代码
#include<iostream>
#include<cmath>
using namespace std;
bool prime(int x)
{
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0)return false;
}
return true;
}
int main()
{
int n;
cin>>n;
for(int i=4;i<=n;i+=2)
{
cout<<i<<'=';
for(int j=2;j<=i/2;j++)
{
if(prime(j)&&prime(i-j))
{
cout<<j<<'+'<<i-j<<endl;
break;
}
}
}
return 0;
}