哥德巴赫猜想是:任一大偶数可以表示为两个素数之和。试编程C++验证该猜想:任给一个偶数,找出两个素数,其和等于该偶数。以6~100范围内的所有偶数进行验证。对于每一个偶数,如果满足这一命题,输出该偶数及找到的两个素数;如果不满足这一命题,仅输出该偶数
代码如下:
#include <iostream>
using namespace std;
//判断是n是否是素数
int prime(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i==n) return 1;
return 0;
}
int main()
{
int i,j,a,b;
int flag;
for (i=6;i<=100;i+=2) //遍历6-100的所有偶数
{
flag = 0;
for (j = 2;j<i;j++)
{
if( prime(j) && prime(i-j) ) //判断j和i-j是否是素数
{
cout << i << "=" << j << "+" << i-j<<endl;
flag = 1;
break;
}
}
if(flag == 0) //如果不满足,仅输出改偶数
cout << i << endl;
}
return 0;
}