设为首页 加入收藏

TOP

C语言实例:可逆素数
2014-11-23 18:00:34 】 浏览:7648
Tags:语言 实例 可逆 素数

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


  *问题分析与算法设计


  本题的重点不是判断素数的方法,而是求一个整数的反序数。求反序数的方法是从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字。


  *程序说明与注释


  #include


  #include


  int num(int number);


  int ok(int number);


  int main()


  {


  int i,count;


  printf("There are invertable primes with 4 digits: \n");


  for(count=0,i=1001;i<9999;i+=2) //穷举全部的奇数


  {


  if(num(i)) //若是可逆素数,则输出


  printf(count%9 "%3d:%d" : "%3d:%d\n",++count,i);


  }


  return 0;


  }


  int num(int number)


  {


  int i,j;


  if(!ok(number))return 0; //判断是否为素数


  for(i=number,j=0;i>0;i/=10) //按位将整数倒过来,产生反序数


  {


  j=j*10 + i%10;


  }


  if(number


  {


  if(!ok(i)) //判断对应的反序数是否为可逆素数


  {


  return 0;


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计算机二级C语言实例:回文素数 下一篇C语言实例:素数幻方

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目