欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語言

C語言可逆素數(shù)教程

時間:2025-04-10 14:09:01 C語言 我要投稿
  • 相關推薦

C語言可逆素數(shù)教程

  引導語:可逆素數(shù)是一個素數(shù)將其各位數(shù)字的順序倒過來構成的反序數(shù)也是素數(shù)。以下是百分網(wǎng)小編分享給大家的C語言可逆素數(shù)教程,歡迎參考學習!

  求四位的可逆素數(shù)?赡嫠財(shù)指:一個素數(shù)將其各位數(shù)字的順序倒過來構成的反序數(shù)也是素數(shù)。

  *問題分析與算法設計

  本題的重點不是判斷素數(shù)的方法,而是求一個整數(shù)的反序數(shù)。求反序數(shù)的方法是從整數(shù)的末尾依次截取最后一位數(shù)字,每截取一次后整數(shù)縮小10倍,將截取的數(shù)字作為新的整數(shù)的最后一位(新的整數(shù)擴大10倍后加上被截取的數(shù)字)。這樣原來的整數(shù)的數(shù)字從低到高被不斷地截取,依次作為新的整數(shù)從高到低的各位數(shù)字。

  *程序說明與注釋

  #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) //窮舉全部的奇數(shù)

  {

  if(num(i)) //若是可逆素數(shù),則輸出

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

  }

  return 0;

  }

  int num(int number)

  {

  int i,j;

  if(!ok(number))return 0; //判斷是否為素數(shù)

  for(i=number,j=0;i>0;i/=10) //按位將整數(shù)倒過來,產(chǎn)生反序數(shù)

  {

  j=j*10 + i%10;

  }

  if(number

  {

  if(!ok(i)) //判斷對應的反序數(shù)是否為可逆素數(shù)

  {

  return 0;

  }

  else

  {

  return 1; //若是可逆數(shù)素數(shù),則返回1

  }

  }

  else

  {

  return 0;

  }

  getchar();

  return 0;

  }

  int ok(int number)

  {

  int i,j;

  if(number%2 ==0) //判斷是否為素數(shù)

  return 0;

  j= sqrt((double)number) +1 ; //取整數(shù)的平方根為判斷的上限

  for(i=3;i

  {

  if(number %i ==0) //若為素數(shù)則返回1,否則返回0

  return 0;

  }

  return 1;

  }

  *思考題

  求1000以內(nèi)的孿生素數(shù)。孿生素數(shù)是指:若a為素數(shù),且a+2也是素數(shù),則素數(shù)a和a+2稱為孿生素數(shù)。

【C語言可逆素數(shù)教程】相關文章:

C語言數(shù)組教程02-28

C語言文件操作教程05-11

C語言位操作教程08-07

C語言結構體教程06-17

C語言函數(shù)遞歸教程03-01

C 語言基礎教程07-22

如何實現(xiàn)C語言畫圖教程08-08

C語言如何實現(xiàn)畫圖教程05-02

C語言函數(shù)的基本學習教程06-13