poj 2909(哥德巴赫猜想)

点击打开链接


哥德巴赫猜想。。。


#include"stdio.h"
#include"string.h"
#define N 33000
int isPrime[N];
void fun()
{
	int i,j;
	memset(isPrime,0,sizeof(isPrime));
	isPrime[0]=isPrime[1]=1;
	for(i=2;i<N;i++)
	{
		if(isPrime[i]==0)
		{
			for(j=i+i;j<N;j+=i)
				isPrime[j]=1;
		}
	}
}
int main()
{
	int ans;
	int n,i;
	fun();
	while(scanf("%d",&n)!=-1&&n)
	{
		ans=0;
		for(i=2;i<n/2;i++)
		{
			if(!isPrime[i]&&!isPrime[n-i])ans++;
		}
		if(n%2==0&&isPrime[n/2]==0)ans++;
		printf("%d\n",ans);
	}
	return 0;
}


你可能感兴趣的:(数学,哥德巴赫猜想)