您的位置:首页 > 其它

哥德巴赫猜想——比较好的方法

2010-03-23 19:52 183 查看
//性感的分治法求证哥德巴赫猜想
#include <iostream>
using namespace std;
//sub function:
//求素表,传递N值
void TablePrime(const int & n , int * & a , int & length)
{
for(int x = 0 ; x < length ; x++)
{
a[x] = x;
}
for(int i = 2 ; i < length ; i++)
{
if (a[i] == 0)
{
continue;   //如果a[i]是0,则说明这个不是素数,已经被筛选了。
}
for (int j = i + 1 ; j < length ; j++)
{
if (a[j] == 0)
{
continue;
}
if (a[j] % a[i] == 0)
{
a[j] = 0;
}
}
}
}
int main()
{
int theEven = 0;

cout << "请给一个任意大的偶数:" << endl;
cin >> theEven;
int* Prime = new int [theEven];
TablePrime(theEven , Prime , theEven);
theEven /= 2;
for (int i = theEven , int j = theEven ; i != 0 ; i-- , j++)
{
if (Prime[i] + Prime[j] == theEven * 2)
{
cout << "经过验证" << endl << theEven*2 << " = " << Prime[i] << " + " <<Prime[j] << endl;
break;
}
}
if (i == 0)
{
cout << "未通过验证" << endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: