hdu2098的总结

it2022-05-09  21

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


最新回复(0)