hdu2098很水的题,但是自己用的是筛子法,但是自己想到惠超市了饿,还执意放到上面ac
思路很简单,简单来说就是从1到n-1然后到n-1/2到n-1/2,因此正好一半,因此/2,然后验证是否为素数就行了,因此,验证素数的时候,首先看是否是2的倍数,然后看书否为3,5,7,然后一个一个将他们与这些素数相除,即可验证,想法不错
1 #include <stdio.h>
2 #include <stdlib.h> 3 #include <math.h> 4 int sushu( int s) 5 { 6 int i; 7 if(s == 2) 8 return 1; 9 10 if(s % 2 == 0) // 除去2 11 return 0; 12 13 for(i = 3; i <= sqrt(s); i+= 2) // 从3,5,7,开始除,不断的除 14 if(s % i == 0) 15 return 0; 16 17 return 1; 18 } 19 20 21 int main() 22 { 23 int n , i, d; 24 while(scanf( " %d ",&n)!= EOF && n != 0) 25 { 26 d = 0; 27 for(i = 2;i <= n/ 2; i++) 28 { 29 if(i != n - i) 30 if(sushu(i) == 1&&sushu(n-i) == 1) 31 d++; 32 } 33 printf( " %d\n ",d); 34 35 } 36 return 0; 37 }转载于:https://www.cnblogs.com/yelcoved/archive/2013/02/10/2909711.html
