2009-06-04 20:24:56來源不明
ACM 686 686 - Goldbach’s Conjecture (II)
作法:建表
質數表我是用自己建的...內建的我不怎麼想用...
之後就做建表的動作
/***********************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int math[5200]={0};
int num[32768]={0};
main()
{
int n,a,b,c,m=1;
math[0]=2;
for(a=3;a<32768;a=a+2
{
int flag=0;
for(b=0;math[b]<=sqrt(a);b++)
{
if(a%math[b]==0)
{
flag=1;
break;
}
}
if(flag==0)
{
math[m]=a;
m++;
}
}
for(a=1;a<m;a++)
for(b=a;b<m;b++)
{
if(math[a]+math[b]>=32768) break;
else num[math[a]+math[b]]++;
}
while(scanf("%d",&n)==1&&n!=0)
printf("%d\n",(n==4)?1:num[n]);
return 0;
}