描述
验证“歌德巴赫猜想”,即:任意一个大于2的偶数均可表示成两个素数之和。
输入
输入只有一个正整数x。(x是偶数,x <= 2000 且 x > 2)
输出
输出这个数的所有分解形式,形式为:
x = y + z
其中x为待验证的数,y和z满足y + z = x,而且 y <= z,y和z均是素数。
如果存在多组分解形式,则按照y的升序输出所有的分解,每行一个分解表达式。
注意数和符号之间隔一个空格。
#include
using namespace std;
int su(int a)
{ for(int i=2;i*i<=a;i++)
{ if(a%i==0)return 0; }
return 1;
}
int main(){
int n;
cin>>n;
for(int i=2;i<=n/2;i++){
if(su(i)==1&&su(n-i)==1){
cout<<n<<" = “<<i<<” + "<<n-i<<endl;
}
}
}