验证哥德巴赫猜想
//编程验证哥德巴赫猜想
//哥德巴赫猜想:任何一个大于4的偶数可以表示为两个素数之和
#include<stdio.h>
#include"iostream"
using namespace std;
#define M 101
void createPrimeList(int primeList[]) //生成素数表
{
int i,j;
for(i=0;i<M;i=i+1)
primeList[i]=i;
i=2;
while(i<M/2)
{
for(j=i+1;j<M;j=j+1)
if(primeList[j]!=0&&primeList[j]%primeList[i]==0)
primeList[j]=0;
i=i+1;
while(primeList[i]==0)
i=i+1;
}
}
int NextPrimeNumber(int p,int primeList[])
{
p=p+1;
while(primeList[p]==0)
p=p+1;
return primeList[p];
}
void main()
{
int primeList[M];
int x,p;
createPrimeList(primeList);
x=4;
while(x<M)
{
p=primeList[2];
while(p<x/2&&primeList[x-p]==0)
p=NextPrimeNumber(p,primeList);
if(p>=x/2)
cout<<"Great discovery :Golobach is wrong!"<<endl;
else
cout<<"The Even Number"<<x<<"="<<p<<"+"<<x-p<<endl;
x=x+2;
}
}