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

//性感的分治法求证哥德巴赫猜想 #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; } 

你可能感兴趣的:(function)