POJ-2262-Goldbach's Conjecture

来源:互联网 发布:迪克斯特拉算法的例题 编辑:程序博客网 时间:2024/05/12 14:17

这个题要求求出一个数能够由2个素数相加的和表示

直接暴力求即可

代码:

#include<cstdio>#include<cstring>const int maxn=1000001;bool ispri[maxn];int cnt,pri[100000];void Init(){    ispri[1]=1;    cnt=0;    for(int i=2;i<maxn;i++)    {if(!ispri[i])    pri[cnt++]=i;for(int j=2;i*j<maxn;j++)    ispri[i*j]=1;    }}int main(){    Init();    int n;    while(scanf("%d",&n)&&n)    {for(int i=0;i<cnt;i++)    if(!ispri[n-pri[i]])    {printf("%d = %d + %d\n",n,pri[i],n-pri[i]);break;    }    }    return 0;}


原创粉丝点击