驗證哥德巴赫猜想 6-200

#include<iostream>
#include<cmath>
using namespace std;
int main(){
for(int i=4;i<=100;i=i+2){//i從4循環到100,步進爲2 
for(int r=2;r<=i/2;r++){//r從2循環到i/2,步進爲1 
int ok=0;//標記量
int m=sqrt(i/2+0.5);
for(int x=2;x<=m;x++){//判斷r是否爲素數 
if(r%x==0){//r不是素數,ok=1,結束循環 
ok=1;
break;
}
}
if(ok==0){//如果ok==0,即r是素數,判斷i-r是否爲素數 
int n=sqrt(i-r+0.5);
for(int y=2;y<=n;y++){//若i-r不是素數,ok=1,結束循環 
if((i-r)%y==0){
ok=1;
break;
}
}
if(ok==0) cout<<i<<'='<<r<<'+'<<i-r<<endl;//如果i-r爲素數,i符合哥德巴赫猜想,輸出 
}
// ok=0;//無論ok的值是否改變,置爲0 
}
} 
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章