首页 > 代码库 > 40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
40.验证哥德巴赫猜想:一个大于2的偶数总可以分解成两个素数的和
//1、输入一个偶数。判断是否为偶数//2、若是,求出小于其的所有素数//3、将它们求和//4、验证是否满足哥德巴赫猜想#include<iostream>#include<cmath>using namespace std;int Sushu(int);int main(){ int n,k,q; int a[1000]; begin: cout<<"please input an even number(偶数):"<<endl; cin>>n; for(int p=0;p<1000;p++) { a[p]=0; } if(n%2!=0)//判断是否为偶数 { cout<<"wrong,please try again!"; goto begin; }else { if(n==2) { cout<<"1"<<" "<<"1"<<endl; cout<<"OMG,偶数"<<n<<"符合哥德巴赫猜想!!"<<endl; }else { for(int i=3;i<n;i++)//把到n为止的素数全部存入数组 { if(Sushu(i)) { a[i-1]=i; } } for(int j=0;j<100;j++) { a[0]=1; a[1]=2; for(k=j+1;k<100;k++) { q=a[j]+a[k]; if(q==n) { cout<<a[j]<<" "<<a[k]<<endl; cout<<"OMG,偶数"<<n<<"符合哥德巴赫猜想!!"<<endl; } } } } } return 0;}int Sushu(int index){ //int y=sqrt(index); int z; for(int m=2;m<index;m++) { if(index%m==0) { z=0; break;//没有break这个程序就是错的 }else { z=index; } } return z;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。