今天常见的哥德巴赫猜想为欧拉版本即任一大于二的偶数都可以写成两个素数之和。
实际程序要点:
- 验证分开的俩数都是素数
- 较大的偶数有多种素数相加的组合方式,任一输出一种能证明即可
源码:
//验证哥德巴赫猜想
//2015-10-5
//杨比轩
#include <iostream>
#include <cmath>
using namespace std;
bool Prime(long x);
void main()
{
long min, max;
cout<<"输入验证的范围:\n";
cin>>min;
cin>>max;
long verify;
bool tag;
for(verify=min;verify<=max;verify++)
{
if(verify%2==0)
{
longx=2;
for(intj=2;j<verify;j++,x++){
if(1==Prime(x))
if(1==Prime(verify-x)&&x<=verify/2)
{
cout<<verify<<"="<<x<<"+"<<verify-x<<"\t";
break;
}
}
}
}
cout<<"over";
}
//素数判断
bool Prime(long a)
{
bool tag=1;
for (int i=2;i<a;i++)
{
if(a%i==0&&a!=2)
{
tag=0;
break;
}
}
returntag;
}