• <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>

            gzwzm06

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              1 隨筆 :: 52 文章 :: 17 評論 :: 0 Trackbacks
              1#include <cstdio>
              2#include <cmath>
              3const int MAX = 20;
              4
              5__int64 arr_bit[MAX]; //記錄i個位有幾個回文數
              6char strNum[50]; //保存結果
              7
              8void Cal()
              9{
             10    int i, j;
             11    __int64 t;
             12
             13    arr_bit[1= 9;
             14
             15    for ( i = 2; i <= MAX; ++i )
             16    {
             17        arr_bit[i] = arr_bit[i - 1];
             18        t = 9;    
             19        for ( j = 0; j < (i >> 1- 1++j )
             20                t *= 10;
             21        if ( i % 2 != 0 ){
             22            t *= 10;
             23        }

             24        arr_bit[i] += t;
             25    }

             26}

             27
             28void GetNum(const __int64& n)
             29{
             30    //對少于100的數直接輸出
             31    if ( n <= 9 )
             32    {
             33        printf("%I64d\n", n);
             34    }

             35    else if ( n <= 18 )
             36    {
             37        printf("%I64d%I64d\n", (n - 9), (n - 9));
             38    }

             39    else {
             40        int i, pos, wh, t, k;
             41        __int64 del;
             42
             43        //找出當前數有多少個位
             44        for ( i = 3; i <= MAX; ++i )
             45        {
             46            if ( arr_bit[i] >= n )
             47            {
             48                pos = i;
             49                break;
             50            }

             51        }

             52
             53        //pos個位的第幾個
             54        del = n - arr_bit[pos - 1- 1;
             55
             56        wh = pos >> 1;
             57
             58        if ( pos % 2 == 0 ) {
             59            wh--;
             60        }

             61
             62        //確定每個位
             63        t = (int)pow(10, wh); 
             64        strNum[0= strNum[pos - 1= (int)(del / t) + 1 + '0';
             65        del = del % t;
             66        
             67        for ( i = wh - 1, k = 1; i >= 0--i, ++k )
             68        {
             69            t = (int)pow(10, i);
             70            strNum[k] = strNum[pos - k - 1= (int)(del / t) + '0';
             71            del = del % t;
             72        }

             73        
             74        strNum[pos] = '\0';
             75
             76        printf("%s\n", strNum);
             77
             78    }

             79
             80}

             81
             82int main()
             83{
             84    __int64 n;
             85
             86    Cal();
             87
             88    while ( true )
             89    {
             90        scanf("%I64d"&n);
             91
             92        if ( n == 0 )
             93            break;
             94
             95        GetNum(n);
             96    }

             97    return 0;
             98}

             99
            100
            101
            102
            posted on 2009-03-29 15:00 閱讀(243) 評論(0)  編輯 收藏 引用 所屬分類: 數學
            午夜人妻久久久久久久久| 麻豆av久久av盛宴av| 午夜精品久久久久久久| 久久久久久久波多野结衣高潮| 久久香综合精品久久伊人| 国产福利电影一区二区三区久久老子无码午夜伦不| 日本免费久久久久久久网站| 青青草原综合久久大伊人| 久久99精品久久久大学生| 国产精品久久久久久久久免费 | 思思久久精品在热线热| 午夜精品久久久久久99热| 国产成人综合久久久久久| 伊人久久大香线蕉综合热线| 久久精品国产亚洲沈樵| 精品久久久久久中文字幕大豆网| 日产精品久久久一区二区| 久久精品无码一区二区三区免费| 久久久久四虎国产精品| 18禁黄久久久AAA片| 国产视频久久| 国产国产成人精品久久| 久久99热这里只频精品6| 久久99国产亚洲高清观看首页| 久久精品国产欧美日韩99热| 91久久精品电影| 99久久精品这里只有精品| 久久综合狠狠综合久久| 2021最新久久久视精品爱 | 99久久精品免费看国产| 久久亚洲AV成人出白浆无码国产 | 精品一二三区久久aaa片| 久久久久久国产精品无码下载| 高清免费久久午夜精品| 亚洲精品无码久久千人斩| 欧美久久久久久| 欧美精品丝袜久久久中文字幕| 婷婷久久五月天| 亚洲精品tv久久久久久久久久| 亚洲va久久久噜噜噜久久男同| 久久久久国产一区二区|