青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

頁碼計數

【問題描述】

    一本書的頁數為N,頁碼從1開始編起,請你求出全部頁碼中,用了多少個0,1,2,…,9。其中—個頁碼不含多余的0,如N=1234時第5頁不是0005,只是5。

【輸入】

       一個正整數N(N≤109),表示總的頁碼。

【輸出】

       共十行:第k行為數字k-1的個數。

【樣例】

       count.in                        count.out

       11                                1

                                          4

                                          1

                                          1

                                          1

                                          1

                                          1

                                          1

                                          1

                                          1

 

【算法分析】

      簡單的對題目進行分析,發現枚舉每個數,然后統計每個數里面數字的出現個數的這種方法是不可取的。

      我們只好從數字本身的規律出發尋找解決辦法。如果把零考慮進去,那么0000-9999這1萬個數里0-9總共出現了40000次,每個數字出現4000次。進一步推廣,考慮所有的n位數情況,從n0n9,共10nn位數,09十個數字平均使用,每個數字共用了n*10n-1次。

   

有了這樣的規律后,可以從高位向低位進行統計,最后再減去多余的0的個數。

    以n=3657為例:(用count數組來存放0到9各個數字的使用次數)

    最高位(千位)為3,從0千、1千到2千,000~999重復了3次,每一次從000到999,每個基本數字都使用了3*100=300次,重復3次,所以count[0]~count[9]各增加3*300;

    另外最高位的0到2作為千位又重復了1000次,count[0]~count[2]各增加1000,3作為千位用了657次(=n mod 100),因此count[3]增加657;

    接下來對百位6再進行類似的處理,0到9在個位和十位平均重復使用6*20次,所以count[0]~count[9]先各增加6*20,0到5作為百位重復使用了100次,所以count[0]~count[5]再各增加100,6作為百位在這里重復用了57次(=n mod 100);因此count[6]增加57;

    對十位和個位也進行相同的處理,得出count[0]~count[9]的值;

    最后再減去多算的0的個數。

    那么0到底多算了多少次呢?

    當沒有十位及以更高位時,個位的0,只多算了1次;

    當沒有百位及以更高位時,十位的0,多算了10次;

    當沒有千位及以更高位時,百位的0,多算了100次;

    ……

 

【參考代碼】

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,len=0,m,a[10]={0},b[10]={0,1},c[10];
 5     scanf("%d",&n);
 6     m=n;
 7     while(m>0) {len++;c[len]=m%10;m/=10;}
 8     for(int i=2;i<=9;i++) b[i]=b[i-1]*10;
 9     m=n;
10     for(int i=len;i>=1;i--)
11     {
12         for(int j=0;j<=9;j++) a[j]+=b[i-1]*(i-1)*c[i];
13         for(int j=0;j<=c[i]-1;j++) a[j]+=b[i];
14         a[c[i]]+=m%b[i]+1;
15     }
16     for(int i=1;i<=len;i++) a[0]-=b[i];
17     for(int i=0;i<=9;i++)
18         printf("%d\n",a[i]);
19     return 0;
20 }
21 

 


posted on 2011-08-18 19:26 AK 閱讀(3446) 評論(2)  編輯 收藏 引用 所屬分類: ACM

評論

# re: 頁碼計數 2015-09-23 19:56 greenty

a[c[i]]+=m%b[i]+1;


b[i]可能為0;  回復  更多評論   

# re: 頁碼計數 2015-11-01 11:32 syh

您好,您這篇題解中 “3作為千位用了657次(=n mod 100),因此count[3]增加657;” 應該是count[3]增加675+1次(加上3000中的‘3’)。  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2015年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

資源連接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品久久视频| 欧美剧在线观看| 欧美成人午夜激情| 欧美天天影院| 在线电影一区| 亚洲在线观看视频网站| 另类欧美日韩国产在线| 一区二区高清在线观看| 久久一综合视频| 国产精品久久久久免费a∨大胸| 亚洲电影在线| 久久久久久综合| 亚洲制服av| 欧美视频在线观看免费| 中国av一区| 91久久精品www人人做人人爽| 亚洲少妇诱惑| 亚洲一区精彩视频| 欧美日韩综合视频网址| 欧美一区二区三区精品电影| 日韩午夜激情| 欧美精品尤物在线| 午夜精品国产| 亚洲视频在线二区| 欧美日韩一区在线视频| 日韩视频―中文字幕| 亚洲国产mv| 另类成人小视频在线| 黑人巨大精品欧美一区二区小视频 | 亚洲精品一区二区在线| 久久夜色撩人精品| 在线一区视频| 亚洲视频一区在线观看| 在线精品观看| 亚洲免费在线| 日韩西西人体444www| 羞羞色国产精品| 欧美日韩免费高清一区色橹橹| 欧美一区在线视频| 欧美高清在线| 一区二区激情| 久久综合久久久| 欧美一区二区三区四区高清| 免费成人美女女| 亚洲日本中文字幕区| 亚洲一区二区三区激情| 亚洲精品在线免费| 99国产精品久久| 国产精品美女久久久| 亚洲国产精品va在线观看黑人| 欧美激情亚洲精品| 亚洲欧美国产77777| 亚洲男同1069视频| av成人黄色| 亚洲一区二区三区在线视频 | 欧美不卡视频一区| 久久视频这里只有精品| 免费人成网站在线观看欧美高清| 亚洲精选成人| 你懂的亚洲视频| 欧美成人免费在线视频| 欧美日韩亚洲精品内裤| 亚洲激情在线视频| 亚洲激情一区二区| 亚洲午夜极品| 亚洲欧美国产精品桃花| 国产精品草莓在线免费观看| 久久精品夜夜夜夜久久| 欧美大片一区| 亚洲国产清纯| 日韩午夜在线观看视频| 欧美成年人视频网站| 欧美激情在线免费观看| 国产精品久久久久久久久久久久久久| 久久久999精品视频| 国产日韩精品一区二区三区在线| 亚洲福利国产| 99视频一区二区三区| 欧美大片免费久久精品三p| 亚洲人成77777在线观看网| 国产一区二区三区网站 | 欧美在线免费播放| 欧美成人dvd在线视频| 欧美高清在线视频观看不卡| 亚洲国产片色| 欧美日韩中文精品| 亚洲视频在线观看| 久久人人爽爽爽人久久久| 在线精品视频一区二区| 欧美高清视频一二三区| 一区二区欧美日韩| 久久精品日韩欧美| 国产精品swag| 欧美一区国产二区| 欧美多人爱爱视频网站| 亚洲午夜高清视频| 欧美猛交免费看| 国产精品99久久久久久久久| 日韩一级黄色片| 国产精品乱码一区二三区小蝌蚪| 午夜宅男久久久| 欧美激情精品久久久久久黑人| 夜夜嗨av一区二区三区网页| 国产人妖伪娘一区91| 亚洲视频中文字幕| 麻豆精品在线播放| 亚洲亚洲精品三区日韩精品在线视频| 国产伦精品一区二区三区四区免费| 亚洲乱码国产乱码精品精98午夜| 午夜久久久久久久久久一区二区| 激情小说另类小说亚洲欧美| 久久久精品tv| 欧美国产欧美亚州国产日韩mv天天看完整| 9色国产精品| 激情综合激情| 国产精品亚洲一区| 欧美一二三区在线观看| 亚洲国产你懂的| 久久精品中文| 午夜电影亚洲| av成人动漫| 亚洲国产精品一区二区久| 欧美精品免费看| 久久激情网站| 亚洲国产美女| 久久一区二区三区av| 亚洲一区在线直播| 99精品视频免费全部在线| 在线电影院国产精品| 国产免费成人在线视频| 欧美三级在线| 欧美日韩国产精品成人| 亚洲午夜日本在线观看| 亚洲精品九九| 亚洲国产精品t66y| 亚洲丁香婷深爱综合| 毛片一区二区三区| 久久久亚洲影院你懂的| 欧美中文字幕精品| 欧美一区二区三区日韩| 亚洲欧美成人一区二区在线电影| 一本久道久久综合狠狠爱| 亚洲精选在线观看| 亚洲精品在线观看免费| 亚洲另类春色国产| 亚洲美女网站| 日韩亚洲精品视频| 亚洲精选视频免费看| 亚洲毛片在线| 一区二区三区国产精华| 亚洲网站视频| 亚洲一区高清| 欧美在线观看一区二区| 欧美一区在线视频| 久久一区欧美| 欧美成人午夜影院| 亚洲黄色在线| 一区二区三区偷拍| 午夜精品久久久久99热蜜桃导演| 欧美高清视频一二三区| 欧美成人xxx| 久久精品视频一| 久久午夜电影网| 欧美华人在线视频| 亚洲美洲欧洲综合国产一区| 一区二区三区免费网站| 亚洲欧美激情视频在线观看一区二区三区| 亚洲小视频在线观看| 欧美一区影院| 午夜精品久久久久久久久久久久久| 亚洲制服av| 久久婷婷综合激情| 欧美精品一区二区久久婷婷| 欧美日韩在线亚洲一区蜜芽 | 欧美14一18处毛片| 欧美日韩国产欧美日美国产精品| 国产精品sm| 亚洲韩日在线| 午夜久久黄色| 亚洲国产精品t66y| 亚洲影院免费观看| 欧美成人国产一区二区| 国产乱肥老妇国产一区二| 亚洲国产精品成人综合色在线婷婷| 日韩一二三区视频| 久久九九免费| 亚洲精品视频免费在线观看| 欧美亚洲视频一区二区| 欧美国产激情| 国内不卡一区二区三区| 国产毛片精品国产一区二区三区| 亚洲第一区在线| 亚洲欧美日韩在线一区| 欧美国产日韩精品免费观看| 一本色道久久综合亚洲精品按摩| 久久久精品午夜少妇| 欧美亚洲第一页| 亚洲伦理在线观看| 免费观看亚洲视频大全| 亚洲二区免费|