• <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>
            posts - 183,  comments - 10,  trackbacks - 0

            字符串用字符數組來保存。

            這里對一個大數求其階乘,N!

            N! 的結果很大,需要字符數組保持,但是我們認定 N 沒有大到需要字符數組存儲的地步。

            由于這個原因,我們是對結果用字符數組存儲,而對 N 還是保持到 int 中。

            首先對 N 從 0 到 N 遍歷,對保持結果的字符數組 ret 中的每位進行逐位相乘,還是 int 型乘法。從左到右,從低位到高位進行運算,注意進位。對小于 N 的每個數,對 ret 中的每個元素相乘,進位。記錄 ret 中的元素個數。

            然后對 ret 進行逆轉,以使高位放在最左邊,并且將實際數字轉換成字符以輸出顯示。

             1 #include <iostream>
             2 using namespace std;
             3 
             4 char* bigFactorial(char* ret, int n)
             5 {
             6     ret[0= 1;
             7     int len = 1, i, j, t, c = 0;
             8     for (i = 2; i <= n; ++i)
             9     {
            10         for (j = 0; j < len; ++j)
            11         {
            12             t = ret[j] * i + c;
            13             ret[j] = t % 10;
            14             c = t / 10;
            15         }
            16         while (c != 0)
            17         {
            18             ret[len] = c % 10;
            19             c /= 10;
            20             ++len;
            21         }
            22     }
            23     for (int i = 0; i < len / 2++i)
            24     {
            25         ret[i] ^= ret[len - i - 1];
            26         ret[len - i - 1^= ret[i];
            27         ret[i] ^= ret[len - i - 1];
            28     }
            29     ret[len] = '\0';
            30     for (i = 0; i < len; ++i)
            31     {
            32         ret[i] += '0';
            33     }
            34     return ret;
            35 }
            36 
            37 int main()
            38 {
            39     int n;
            40     char result[1000];
            41     while (cin >> n)
            42     {
            43         cout << bigFactorial(result, n) << endl;
            44     }
            45     return 0;
            46 }

             

            posted on 2011-05-18 19:36 unixfy 閱讀(198) 評論(0)  編輯 收藏 引用
            国产69精品久久久久777| 精品国产一区二区三区久久久狼 | 久久人搡人人玩人妻精品首页| 看久久久久久a级毛片| 99久久er这里只有精品18| 久久精品国产影库免费看| 狠狠精品久久久无码中文字幕| 亚洲伊人久久综合影院| 国产精品一区二区久久国产| 久久国产乱子伦精品免费午夜| 久久久噜噜噜久久中文字幕色伊伊| 91精品国产综合久久久久久| 久久精品成人欧美大片| 久久精品亚洲中文字幕无码麻豆 | 久久男人中文字幕资源站| 热re99久久6国产精品免费| 色综合色天天久久婷婷基地| 精品国产乱码久久久久软件| 青青热久久综合网伊人| 亚洲级αV无码毛片久久精品| 久久精品国产福利国产琪琪| 狠狠色婷婷久久一区二区三区| 午夜精品久久久久久久无码| 99久久精品免费观看国产| 久久久久亚洲AV无码麻豆| 成人综合久久精品色婷婷| 久久久久国产亚洲AV麻豆| 久久精品人人做人人爽电影| 亚洲AV日韩精品久久久久| 欧美一区二区久久精品| 久久久久国产亚洲AV麻豆| 亚洲国产成人久久精品影视| 久久精品国产91久久综合麻豆自制 | 午夜精品久久久久久中宇| 香蕉99久久国产综合精品宅男自| 久久艹国产| 久久人搡人人玩人妻精品首页| 亚洲国产成人乱码精品女人久久久不卡 | 青青青青久久精品国产h| 久久综合伊人77777麻豆| 久久亚洲精品中文字幕|