/*
题意中文题
分析:打表建立素数表,若是素数下标为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;
}
sdibt 1221哥德巴赫猜想
最新推荐文章于 2023-05-25 10:52:12 发布