所有大于4的偶数都是两个素数之和,依次判断这样不重复的素数对,并输出
View Code
1 #include<stdio.h> 2 #include<math.h> 3 int yanzheng(int a)//这个函数判断a是否为素数 4 { 5 int i,flag=0; 6 for(i=2;i<=sqrt(a);i++) 7 { if(a%i==0) 8 { 9 flag=1; 10 break; 11 } 12 } 13 if(flag) 14 return 0; 15 else return 1; 16 } 17 int main() 18 { 19 int n,j,js,i; 20 while(scanf("%d",&n)&&n) 21 { 22 js=0; 23 for(i=2;i<=n/2;i++) 24 { 25 if(i!=2&&i%2==0) 26 continue;//除2以外的偶数直接跳过 27 if(yanzheng(i)) 28 { 29 j=n-i; 30 if(yanzheng(j)) 31 js++;//如果相加的两个数都为素数,则计数加一 32 } 33 } 34 printf("%d\n",js); 35 } 36 return 0; 37 }