pku 2262

来源:互联网 发布:php无限极分类图片 编辑:程序博客网 时间:2024/06/18 05:40

素数筛选法


#include <iostream>using namespace std;const __int64 MAX = 1000000;__int64 pr[MAX], pn, num[MAX];bool notp[MAX];void getprime() {    __int64 i, j;    pn = 0;    for(i = 0; i < MAX; i++) {        notp[i] = 0;    }    for(i = 2; i < MAX; i++) {        if(!notp[i]) {            pr[pn++] = i;        }        for(j = 0; j < pn && pr[j] * i < MAX; j ++) {            notp[pr[j] * i] = 1;            if(i % pr[j] == 0) {                    break;            }        }    }}int main(){    int n, sum, temp, i, j;    bool flag;    getprime();    while(cin >> n && n != 0) {        flag = false;        for(i = 0; pr[i] <= n/2 && i < pn; i++) {           temp = n - pr[i];           if(notp[temp] == false) {                cout << n << " = " << pr[i] << " + " << temp << endl;                flag = true;                break;           }        }        if(!flag) {            cout << "Goldbach's conjecture is wrong."  << endl;        }    }    return 0;}

0 0
原创粉丝点击