亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

c語言描述回文數的三種算法

2020-01-26 13:28:18
字體:
來源:轉載
供稿:網友

題目描述

  • 注意:(這些回文數都沒有前導0)
  • 1位的回文數有0,1,2,3,4,5,6,7,8,9 共10個;
  • 2位的回文數有11,22,33,44,55,66,77,88,99 共9個;

* 請問:n位的回文數有多少個?請編寫一個遞歸函數來解決此問題?。?!

  • 【輸入形式】一行一個正整數,代表多少位
  • 【輸出形式】一行一個正整數,代表回文詩的個數
  • 【樣例輸入】2
  • 【樣例輸出】9

輸入:
3

輸出:
90

輸入:
5

輸出:
900

**輸入:
10

輸出:
90000**

輸入:
8

輸出:
9000

輸入:
1

輸出:
10

思路分析

通過for循環讀入這個數,通過/和%操作將這個數據逆轉,然后再對比逆轉后的數字是否和原數字相等

通過for循環讀入這個數,每次取頭位一個數字和末位一個數字,依次比較這兩個數字是否相等,再去掉這兩個數字,直到剩下一個數字(位數為奇數)或者剩下兩個數字(位數為偶數)

通過數學關系,直接判斷位數,算出這個位數內的回文數個數;

  • 例如:99899
  • 可以把它分為兩半,取前面一半998,如果是回文數,其后面一半一定是與其相應位置對應,998為3位數字,**除第一位(不包含前導0)故與后半對應的位置那個數有9種選擇(1-9)外,其他位都與相應的位置有10種選擇(0-9)**,例如第二位和倒數第二位(0-9)
  • 所以可以總結出來相同的位數,位數為奇數奇數其回文數有9*10^(n/2)個,注意n/2是整數,位數為偶數的為910^(n/2-1)個,所以5位數字的的回文數有910*10=900個
  • 注意位數為1有10個(0-9),需要特殊處理

代碼描述

1. 第一種思路:

#include <stdio.h>#include <math.h>int reverse(long int i,long int *terminate)    //遞歸函數求數值的逆序{  if (i<=0){       //遞歸出口    return 1;      }  else{    *terminate*=10;   //每次乘10升位數    *terminate+=i%10;   //加上個位    reverse(i/10,terminate);    //遞歸每次規模縮小  }  return 1;}int main (){  int n;  scanf ("%d",&n);      //讀入一個n,表示n位整數  long int i;      int count=0;  if (n==1){        //如果等于1,則有10個(0-9都是),特殊處理;    printf ("10");    return 0;  }  for (i=pow(10,n-1);i<pow(10,n);i++){    //從第一個n位數開始(10^(n-1)),到(10^n)-1    long int terminate=0;        //定義一個逆序目標數    reverse(i,&terminate);       //把i和逆序目標數傳入    if (terminate==i){         //逆序后還和原數相等,則可計數      count++;    }  }  printf ("%d",count);    //輸出個數  return 0;}

2. 第二種思路:

#include <stdio.h>#include <math.h>int judge(int i,int n){  int first,last;  if (n<=1){     //規模減小,直到n為1(偶數)或者0    return 1;  }  else{    first=i/pow(10,n-1);    //頭位數字    last=i%10;         //末位數字    if (first!=last){      //頭位末尾不一樣直接退出      return 0;    }    int tem=pow(10,n-1);      judge(i%tem/10,n-2);      //剔除頭尾剩下中間,位數減二  }}int main (){  int n;  scanf("%d",&n);  if (1==n){    printf ("10");    return 0;  }  int i;  int count=0;  long long low=pow(10,n-1);   //循環入口  long long high=pow(10,n);    //循環出口  for (i=low;i<high;i++){    if ( judge(i,n)==1){     //判斷i是否為回文,計數      count++;    }  }  printf ("%d",count);  return 0;}

3. 第三種思路:

#include <stdio.h>#include <math.h>int main (){  int n;  scanf ("%d",&n);  int ji=9*pow(10,n/2),ou=9*pow(10,n/2-1);  if (n==1){    printf ("10");  }  else if (n==2){    printf ("%d",9);  }  else if (n%2==1){    printf ("%d",ji);  }  else if (n%2==0){    printf("%d",ou);  }  return 0;}

額外疑問

第一第二種方法當n=10的時候運算不出來,求解為何如此,是時間復雜度太高了嗎?還是爆int了或者爆遞歸了?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜丰满在线18影院| 亚洲欧美日韩一区二区三区在线| 国产精品久久久久aaaa九色| 一区二区av在线| 亚洲激情久久久| 美女国内精品自产拍在线播放| 亚洲美女在线看| 亚洲最新av在线网站| 久久精品亚洲一区| 中文字幕av一区中文字幕天堂| 欧美日韩免费一区| 亚洲美女精品久久| 精品成人在线视频| 欧美激情亚洲综合一区| 最新的欧美黄色| 欧美一区深夜视频| 日本高清不卡的在线| 国产精品偷伦视频免费观看国产| 97精品久久久中文字幕免费| 久久久精品2019中文字幕神马| 欧美中文字幕视频在线观看| 久久综合网hezyo| 中文字幕av一区二区| 97在线观看视频| 国产精品久久久久久av福利软件| 精品国产区一区二区三区在线观看| 亚洲国产精彩中文乱码av| 久久激情视频免费观看| 丰满岳妇乱一区二区三区| 国产美女91呻吟求| 77777亚洲午夜久久多人| 亚洲激情在线观看视频免费| 538国产精品一区二区在线| 一级做a爰片久久毛片美女图片| 日韩在线观看电影| 亚洲三级av在线| 久久精品视频导航| 琪琪亚洲精品午夜在线| 另类图片亚洲另类| 国产在线拍揄自揄视频不卡99| 亚洲一区二区三区毛片| 国产在线a不卡| 欧美国产视频一区二区| 免费av在线一区| 亚洲国产精品国自产拍av秋霞| 精品国内亚洲在观看18黄| 久久久久女教师免费一区| 91在线视频一区| 日韩高清免费观看| 亚洲欧美一区二区三区情侣bbw| 国产福利成人在线| 久久久爽爽爽美女图片| 国产成人av网| 亚洲自拍偷拍色片视频| 精品福利樱桃av导航| 亚洲人成绝费网站色www| 91精品国产成人| 欧美激情精品久久久久| 日韩女在线观看| 国产精品影院在线观看| 国产mv免费观看入口亚洲| 一区二区三区视频免费| 亚洲成av人片在线观看香蕉| 亚洲free嫩bbb| 久久精品久久久久| 欧美激情欧美激情在线五月| 国产精品99蜜臀久久不卡二区| 亚洲国产日韩一区| 成人a视频在线观看| 好吊成人免视频| 国产精品视频久久久| 最近免费中文字幕视频2019| 国产精品成人av性教育| 国产69精品久久久久99| 成人免费大片黄在线播放| 精品美女永久免费视频| 日韩久久精品成人| 69影院欧美专区视频| 亚洲国产精品人人爽夜夜爽| 国产精品极品美女粉嫩高清在线| 欧美国产日韩一区二区在线观看| 久久精品91久久香蕉加勒比| 亚洲精品国产精品国自产观看浪潮| 精品美女永久免费视频| 91精品视频免费观看| 久久久久久国产三级电影| 精品国产欧美成人夜夜嗨| 亚洲国产美女精品久久久久∴| 亚洲精品福利在线观看| 亚洲尤物视频网| 91精品视频在线播放| 国产成人久久久| 国产精品爱久久久久久久| 国产精品久久久久久久久借妻| 最好看的2019的中文字幕视频| 亚洲天堂av电影| 成人激情春色网| 色青青草原桃花久久综合| 欧美资源在线观看| www.xxxx欧美| 北条麻妃一区二区在线观看| 成人a在线观看| 国产精品96久久久久久又黄又硬| 亚洲欧美日韩直播| 日韩精品免费综合视频在线播放| 尤物yw午夜国产精品视频| 中文字幕在线观看亚洲| 欧美在线视频免费播放| 国产精品极品美女在线观看免费| 国产精品激情自拍| 日韩精品中文字幕在线观看| 中国人与牲禽动交精品| 日韩成人av一区| 亚洲综合精品伊人久久| 中文字幕欧美日韩| 国产一区二区激情| 成人福利网站在线观看11| 欧美福利小视频| 性色av一区二区三区在线观看| 日韩在线观看av| 亚洲va欧美va国产综合剧情| 精品视频久久久久久久| 欧美极品少妇与黑人| 亚洲日本欧美日韩高观看| 亚洲男人天堂古典| 97精品一区二区视频在线观看| 色吧影院999| 国产精品91一区| 日韩视频―中文字幕| 久久综合免费视频影院| 欧美激情一级精品国产| 日本免费久久高清视频| 国产欧美一区二区三区在线看| 欧美中文字幕在线播放| 97久久伊人激情网| 亚洲国产第一页| 国产精品久久久久久久久影视| 亚洲女人天堂视频| 日本精品在线视频| 97在线观看视频| 中日韩美女免费视频网站在线观看| 中文字幕亚洲色图| 91国产精品视频在线| 4p变态网欧美系列| xvideos成人免费中文版| 亚洲一级免费视频| 992tv成人免费影院| 日韩免费在线播放| 亚洲欧美国产高清va在线播| 亚洲第一中文字幕在线观看| www.欧美精品一二三区| 久久久精品国产| 欧美精品免费看| 久久久久成人精品| 亚洲黄色av女优在线观看| 国产精品夫妻激情| 黄色成人在线播放| 97超碰色婷婷| 色综合久久88色综合天天看泰| 欧美成aaa人片免费看| 亚洲免费视频网站| 在线播放日韩专区| 国产精品白嫩美女在线观看| 日日骚av一区|