题目1440:Goldbach's Conjecture
#include <cstdio>
#include <cmath>
#include <cstring>
//2^15=32768
//先用简单方法求32768 之前的素数
int num[35000];
void init(){
memset(num,0,sizeof(num));//置零,都是素数
for(int i=2;i<35000;i++){
int bound=sqrt(i)+1;
for(int j=2;j<bound;j++){
if(i%j==0){
num[i]=1;//为1 后就是非素数
break;
}
}
}
}
int main(){
init();
// for(int i=2;i<25;i++){
// printf("%d ----%d\n",i,num[i]);
// }
int n;
while(scanf("%d",&n)!=EOF&&n!=0){
int pair=0;
for(int j=n/2;j>=2;j--){
if(num[j]==0&&num[n-j]==0){
pair++;
}
}
printf("%d\n",pair);
}
return 0;
}