您的位置:首页 > 其它

hdu 2098 分拆素数和

2016-02-01 17:51 417 查看
#include<stdio.h>
#include<math.h>
int main()
{
int num[11000];
int i,j;
int cnt,k;
int n;

for(i=1;i<=10000;i++)
num[i]=0;

for(i=2;i<=sqrt(10000);i++)
{
for(j=2*i;j<=10000;j=j+i)
if(num[j]==0)
num[j]=1;
}
num[1]=1;
num[0]=1;

while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
if(n==2)
{
printf("0\n");
continue;
}

k=n;
cnt=0;
for(i=2;i<=k;i++)
{
if(num[i]==0&&num[n-i]==0&&i!=(n-i))
{
//printf("%d %d\n",i,n-i);
k=n-i;
cnt++;
}
else
k=n-i;
}
printf("%d\n",cnt);
}
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: