分拆素数和

// 分拆素数和
#include<iostream>
using namespace std;
bool isprime(int n){
	if(n<=2) return false;
	int i;
	for(i=2;i*i<=n;i++){
		if(n%i==0) return false;
	}

	//cout<<n<<" ";//

	return true;
}
int main(){
	int i,n;
	int ans;
	int a[10005]={0};
	for(i=3;i<=10005;i+=2){
		if(isprime(i)) a[i]=1;
	}
	while(scanf("%d",&n) && n!=0){
		ans=0;
		for(i=3;i*2<n;i+=2){
			if(a[i]){
				int m=n-i;
				if(a[m]) ans++;
			}
		}
		printf("%d\n",ans);
	}
	return 0;
}

  

posted on 2013-08-13 21:35  Amyc  阅读(112)  评论(0编辑  收藏  举报