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

uva 10061 - How many zero's and how many digits ?

   這又是一個數學題,不過我還是比較喜歡做這類數學雜題的。題目意思很簡單,給2個十進制數,n和b。如果用b進制表示n!,
需要多少位數,這個表示末尾會有多少個0。這個題并不需要什么高深的知識,這一點也是我喜歡做這類題的一個方法。
大家顯然都知道求n!用10進制表示末尾會有多少個0的方法,就是求2*5最多有多少對。那么,b進制了。方法類似,發散一下想法而已。
   我還是先說求多少位數的方法吧。 b的m-1次 <= n!<= b的m次(PS,這個不等式如果把b換成10大家一定會明白的),
看到這個不等式應該有想法了吧。兩邊同時取logb,就可以得到Σlogi(1<=i<=n) <= m,m直接就求出來了。m即是位數。
   再說怎么求末尾0的,發散下想法,我們也可以對n!中的每個因子試著求b的因子對,一共有多少對。但是,后面發現這樣不行,
因為比如b是16,1和16是一對因子,2和8是一對因子,4和4是一對因子,也就是因為2也是4的因子,這樣計算因子對就會重復了。
但是對于b等于10的情況,可以例外而已。
   呵呵,考慮其它的方法。求素數因子。任何數字都可以被分解為一些素數因子的乘積,這是毋容置疑的。那么,我們去分解n!中的
小于等于b的素數因子,并將其個數存儲在數組里面。然后死循環的去分解b的素數因子,能夠完全分解一次
(具體看下代碼,不好描述),ans就加1。
否則,已經沒有末尾0了。
   雖然提交了16次才過。不過最后還算不錯吧,只用了0.508s。相比20s的時間界限,很小了。網上有些過的代碼,跑一個數據都要
幾分鐘。。。PS:uva上那些神人,怎么用0.0s算出來的,很難想象啊。
   這個題目還有個很大的需要注意的地方,就是浮點數的精度問題。前面講到求位數需要用到log函數,log函數的計算精度就出問題了。
最后需要對和加一個1e-9再floor才能過。特別需要注意這一點,因為開始我的程序過了所有的
http://online-judge.uva.es/board/viewtopic.php?f=9&t=7137&start=30上說的數據還是wa了。而且我還發現log10計算精度高很多,如果log(這個是自然對數)去計算,這個網站上的數據都過不了。

#include <stdio.h>
#include <string.h>
#include <math.h>

int nN, nB;

int nDivisor[1000];

int GetDigit(int nN, int nB)
{
    double fSum = 0.0;
    for (int i = 2; i <= nN; ++i)
    {
        fSum += log10(i);
    }
    
    fSum /= log10(nB);
   
    return floor(fSum + 1e-9) + 1;
}

int GetZero(int nN, int nB)
{
    memset(nDivisor, 0, sizeof(nDivisor));

    for (int i = 2; i <= nN; ++i)
    {
        int nTemp = i;
        
        for (int j = 2; j <= nTemp && j <= nB; ++j)//這樣循環就可以進行素數因子分解了
        {
            while (nTemp % j == 0)
            {
                nDivisor[j]++;
                nTemp /= j;
            }
        }
    }
    
    int nAns = 0;
    
    while (1)
    {
        int nTemp = nB;
        
        for (int j = 2; j <= nTemp; ++j)//分解nB
        {
            while (nTemp % j == 0)
            {
                if (nDivisor[j] > 0)//如果還可以繼續分解
                {
                    --nDivisor[j];
                }
                else //直接可以goto跳出多重循環了
                {
                    goto out;
                }
                nTemp /= j;
            }
        }
        ++nAns;
    }
    
out:
    return nAns;
}

int main()
{
    while (scanf("%d%d", &nN, &nB) == 2)
    {
        int nDigit = GetDigit(nN, nB);
        int nZero = GetZero(nN, nB);
        printf("%d %d\n", nZero, nDigit);
    }

    return 0;
}

posted on 2012-05-02 20:05 yx 閱讀(1866) 評論(0)  編輯 收藏 引用 所屬分類: 數學題

<2012年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

公告

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

me

好友

同學

網友

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久之久亚州精品露出| 欧美日韩高清在线一区| 免费久久99精品国产自| 免费h精品视频在线播放| 好男人免费精品视频| 国产日韩欧美综合一区| 国产毛片一区二区| 国产综合网站| 亚洲激情国产精品| 日韩亚洲视频在线| 亚洲影视九九影院在线观看| 午夜视频一区| 久久午夜国产精品| 亚洲国产成人精品女人久久久| 欧美激情成人在线视频| 亚洲精品久久嫩草网站秘色| 亚洲永久在线| 久久综合激情| 欧美日韩国产成人在线91| 国产精品爽爽ⅴa在线观看| 国产一区二区成人久久免费影院| 激情文学一区| 亚洲一二三区精品| 免费毛片一区二区三区久久久| 日韩一级精品视频在线观看| 欧美在线一级视频| 欧美日韩午夜| 亚洲国内高清视频| 性欧美xxxx视频在线观看| 免费日韩成人| 亚洲私人影院| 欧美福利一区二区| 国产区在线观看成人精品| 91久久中文| 久久国产日韩欧美| 亚洲理论在线| 久久综合色综合88| 国产亚洲欧美一级| 中日韩男男gay无套| 欧美成人久久| 欧美在线日韩精品| 国产精品视频一区二区三区| 99国产精品久久| 久久久久国产精品人| 夜夜狂射影院欧美极品| 欧美.www| 亚洲国产精品成人综合| 久久久久在线| 午夜免费在线观看精品视频| 欧美日韩另类丝袜其他| 亚洲三级电影全部在线观看高清| 久久露脸国产精品| 亚洲综合色网站| 欧美视频一区二区在线观看 | 欧美精品乱码久久久久久按摩| 国产精品扒开腿爽爽爽视频| 洋洋av久久久久久久一区| 亚洲欧美日韩爽爽影院| 亚洲国产精品传媒在线观看| 午夜伦欧美伦电影理论片| 国产精品高潮呻吟久久| 一本色道久久99精品综合| 最新国产成人av网站网址麻豆| 久久亚洲国产成人| 伊人久久亚洲影院| 男女av一区三区二区色多| 久久久久国产精品www| 国产在线视频不卡二| 久久精品中文| 久久久一区二区三区| 一区二区在线不卡| 免费在线国产精品| 久久免费国产精品| 永久555www成人免费| 欧美大片在线观看一区| 免费视频一区| 日韩一级黄色大片| 亚洲精品日日夜夜| 国产精品久久久久久久久搜平片 | 国内精品福利| 麻豆精品视频在线观看| 久久这里有精品15一区二区三区| 精品999久久久| 免费在线成人av| 欧美高清在线播放| 亚洲视频大全| 性欧美激情精品| 1024国产精品| 妖精成人www高清在线观看| 国产精品视屏| 欧美国产日韩一区二区三区| 欧美日韩国产一区| 欧美中文字幕不卡| 老鸭窝毛片一区二区三区| 中文在线资源观看视频网站免费不卡| 在线视频精品一区| 黄色国产精品| 99精品视频免费观看视频| 国产欧美日韩亚州综合| 蜜桃av噜噜一区二区三区| 欧美日韩精品免费观看视频| 久久狠狠一本精品综合网| 欧美成人免费小视频| 欧美一区二区三区在线观看| 欧美成人精品在线播放| 欧美中文字幕在线观看| 欧美国产亚洲精品久久久8v| 欧美一区久久| 欧美日韩国产影院| 免费欧美日韩国产三级电影| 国产精品红桃| 亚洲精品韩国| 在线成人av| 亚洲香蕉在线观看| 亚洲精品一区中文| 亚洲欧美在线x视频| 亚洲国产网站| 国产精品免费小视频| 久久天天躁狠狠躁夜夜爽蜜月| 欧美精品久久久久久久久久| 浪潮色综合久久天堂| 国产精品视屏| 在线一区二区三区四区| 亚洲激情专区| 久久久久久久久久码影片| 欧美一级黄色网| 欧美深夜福利| 亚洲理论在线| 日韩天天综合| 欧美高清在线一区| 欧美激情第三页| 亚洲福利视频在线| 久久久久久久91| 久久综合五月| 激情文学一区| 久久免费视频网站| 开心色5月久久精品| 国内视频一区| 久久大综合网| 久久久久99| 韩日视频一区| 久久精品色图| 可以免费看不卡的av网站| 国模吧视频一区| 久久九九精品| 美女视频黄a大片欧美| 黄色成人在线网址| 老鸭窝亚洲一区二区三区| 老司机67194精品线观看| 国产日韩在线视频| 欧美亚洲一区二区在线| 久久精品一区二区三区不卡牛牛| 国产欧美日韩精品一区| 久久er99精品| 免费看亚洲片| 99国产精品久久久久老师| 欧美精品日韩三级| 亚洲少妇最新在线视频| 欧美在线精品免播放器视频| 激情丁香综合| 欧美激情精品久久久久久黑人| 99re66热这里只有精品3直播| 亚洲午夜久久久| 国产模特精品视频久久久久 | 久久在线91| 亚洲电影在线免费观看| 亚洲视频在线观看| 国产日韩精品一区二区| 狂野欧美激情性xxxx| 亚洲裸体在线观看| 久久精品国产亚洲高清剧情介绍| 精品成人a区在线观看| 欧美激情一区二区| 亚洲女同精品视频| 欧美波霸影院| 亚洲一卡久久| 怡红院精品视频在线观看极品| 欧美久久久久久久久久| 亚洲欧美在线视频观看| 欧美韩日精品| 久久aⅴ乱码一区二区三区| 亚洲国产你懂的| 国产精品亚洲综合色区韩国| 免播放器亚洲一区| 亚洲无毛电影| 久久激情视频久久| 亚洲精品美女在线观看| 国产精品午夜视频| 老司机久久99久久精品播放免费| 亚洲色图综合久久| 欧美风情在线观看| 欧美在线www| 亚洲午夜在线观看| 91久久精品国产91久久| 国产一区二区三区在线观看免费视频| 欧美精品久久久久a| 狼人天天伊人久久| 久久国产精品72免费观看| 亚洲深夜福利在线| 91久久线看在观草草青青|