100c之32:可逆素数

问题

求四位的可逆素数:可逆素数是指:一个素数将其各位数字的顺序反过来构成的反序数也是素数。

分析

解决方案

 1:  /**
 2:   * @file   032c.c
 3:   * @author Chaolong Zhang <emacsun@163.com>
 4:   * @date   Tue Jun  4 23:31:43 2013
 5:   * 
 6:   * @brief  求四位的可逆素数:可逆素数是指:一个素数将其各位数字的顺序反过来构成的反序数也是素数。
 7:   * 
 8:   */
 9:  
10:  #include <stdio.h>
11:  
12:  int is_prime ( int n );
13:  
14:  int main(int argc, char *argv[])
15:  {
16:      int n,m;
17:      for (n=1001; n <=9999; ++n)
18:      {
19:          if (is_prime( n ))
20:          {
21:              m = n/1000 + n/100%10*10 + n/10%10*100 + n%10*1000;
22:              if (is_prime( m ))
23:              {
24:                  printf ("%d and %d are prime numbers\n",n,m);
25:              }
26:          }
27:      }
28:      return 0;
29:  }
30:  
31:  
32:  int is_prime ( int n )
33:  {
34:      int i;
35:      int flag=1;
36:      if (n==2 || n==3)
37:          return flag;
38:      for ( i = 2; i <= ( n/2 + 1 ); ++i) 
39:          if (n%i == 0 ) {
40:              flag=0;return flag;
41:          }
42:  
43:  }

运算结果

posted @ 2013-06-04 23:50  emacsun  阅读(406)  评论(0编辑  收藏  举报