sdibt 1221哥德巴赫猜想

来源:互联网 发布:梦幻西游手游秒货软件 编辑:程序博客网 时间:2024/05/17 08:32
/*题意中文题 分析:打表建立素数表,若是素数下标为0,不是素数下表为1      若vis[i]=0是素数,vis[n-i]=0也为素数,则count++; */#include <stdio.h>#include <string.h>#include <math.h>const int MN=33000;int main(int argc, char *argv[]){int vis[MN];int i,j,n;memset(vis,0,sizeof(vis));int cas=0;//快速素数打表记住 for (i=2;i<MN;i++){// 下标为0是素数 if(!vis[i])  for (j=i*i;j<MN;j+=i)   {     vis[j]=1;           }}    while(scanf("%d",&n) && n)    {    int count=0;    for (i=2;i<=n/2;i++)    {    if(!vis[i])    {    if(!vis[n-i]) count++;    }    }    printf("%d\n",count);    }return 0;}

原创粉丝点击