Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2508844
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2012-07-09 14:03:39

    求不超过1000的回文素数。
    代码如下:

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <math.h>

  3. int isNumber(int number);
  4. int main(int argc, char *argv[])
  5. {
  6.   int i, j, t, k, s;
  7.   printf("following are palindrome primes not greater than 1000:\n");
  8.   for(i=0; i<10; i++)
  9.     for(j=0; j<10; j++)
  10.       for(k=0; k<10; k++){
  11.     s = i*100 + j*10 + k;
  12.     t = k*100 + j*10 + i;
  13.     if(i==0 && j==0)
  14.      t /= 100;
  15.     else if(i==0)
  16.      t /= 10;
  17.     else
  18.      ;

  19.     if(s>10 && s==t && isNumber(s))
  20.      printf("%5d", s);
  21.       }
  22.   printf("\n");
  23.   return 0;
  24. }

  25. int isNumber(int number)
  26. {
  27.   int i, j;
  28.   if(number%2 == 0)
  29.     return 0;
  30.   j = sqrt((double)number) + 1;
  31.   for(i=3; i<=j; i+=2){
  32.     if(number % i == 0)
  33.       return 0;
  34.   }
  35.   return 1;
  36. }
执行结果如下:
following are palindrome primes not greater than 1000:
   11  101  131  151  181  191  313  353  373  383  727  757  787  797  919  929
阅读(2898) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~