您的位置:首页 > 编程语言 > Go语言

POJ 2262 Goldbach's Conjecture

2014-04-08 20:51 225 查看
#include<stdio.h>
int phi[1000010];
int prime[100000],len;
int euler()
{
int i,j;
len=0;
for(i=0;i<1000010;i++)
phi[i]=0;
for(i=2;i<1000010;i++)
{
if(!phi[i])
for(j=i+i;j<1000010;j+=i)
{
phi[j]=1;
}
if(phi[i]==0)
prime[len++]=i;
}
/*printf("len=%d\n",len);
for(i=0;i<len;i++)
{
getchar();
printf("%d\n",prime[i]);
}*/
}
int main()
{
int n,i;
euler();
while(scanf("%d",&n),n)
{
for(i=0;i<len&&prime[i]<n;i++)
{
if(!phi[n-prime[i]])
{
printf("%d = %d + %d\n",n,prime[i],n-prime[i]);
break;
}
}
}
return 0;
}


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