验证哥德巴赫猜想代码C++由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“验证哥德巴赫猜想”。
#include
#include
#define MAX 2000
using namespace std;
int prime[333];//从小到大记录素数
void creatPrimeArray(){//筛选法求素数
int i,j,n=0;bool is[MAX];//用来标记每个数是否是素数memset(is,true,sizeof(is));//初始化为true
for(i=2;i
while(i
if(i
prime[n++]=i;
for(j=i
}
}
}
int main(){
int i,j,n;bool flag;is[j]=false;//标记为不是素数
cout
creatPrimeArray();while(cin>>n,n){//当n不为0时执行循环体if(nMAX||n&1){//验证输入cout
} else flag=false;//初始化为没找到for(i=0;prime[i]>1;i++){//prime[i]是两个素数中较小的那continue;个
for(j=i;prime[i]+prime[j]
if(prime[i]+prime[j]==n){//歌德巴赫猜想成立flag=true;//标记为找到cout
} if(!flag)cout
防不测} } return 0;