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

隨筆-80  評(píng)論-24  文章-0  trackbacks-0
問題1,求N!的十進(jìn)制表示中末尾0的個(gè)數(shù)。
直接求出N!不太現(xiàn)實(shí),很容易溢出。這個(gè)問題比較容易想到的是,因?yàn)?X5=10,所以可以求N!含有的因子2和因子5的個(gè)數(shù)。可以這樣表示N!=2x * 3y * 5z * 7a *...,在這個(gè)表達(dá)式中,我們?nèi)菀椎贸鰔 > z,因此只需要計(jì)算N!中含有因子5的個(gè)數(shù),進(jìn)而可以轉(zhuǎn)化成計(jì)算1-N這N個(gè)數(shù)含有因子5的個(gè)數(shù)之和,所以可以寫出代碼:

 1 int factorial1(int n) {
 2   int count = 0;
 3   while (n) {
 4     int m = n;
 5     while (m > 0 && m % 5 == 0) {
 6       count++;
 7       m /= 5;
 8     }   
 9     n--;
10   }
11   return count;
12 }

可以發(fā)現(xiàn),上面的算法復(fù)雜度為O(Nlog5N),當(dāng)N比較大時(shí)比如N=1000000000時(shí),上面算法需要大概11s的時(shí)間,仔細(xì)想想,發(fā)現(xiàn)上面其實(shí)判斷了很多不需要判斷的值,因?yàn)楹芏鄶?shù)根本就不能被5整除,但是依然在外層while循環(huán)中被計(jì)算,所以我們可以只計(jì)算能被5整除的數(shù),算法如下:

 1 int factorial2(int n) {
 2   int count = 0;
 3   n = (n / 5) * 5;
 4   while (n > 0) {
 5     int m = n;
 6     while (m > 0 && m % 5 == 0) {
 7       count++;
 8       m /= 5;
 9     }   
10     n -= 5;
11   }
12   return count;
13 }

上面算法從比n小的最大的能被5整除的數(shù)開始計(jì)算,且每次計(jì)算的步長(zhǎng)為5,即跳過不是5的倍數(shù)的數(shù),時(shí)間復(fù)雜度為O((Nlog5N)/5) ,當(dāng)n=1000000000時(shí),上面程序大概運(yùn)行5s,較上一算法有所改進(jìn),不過復(fù)雜度沒有質(zhì)的飛躍,籠統(tǒng)來說還是O(NlogN)。那么怎么進(jìn)一步降低復(fù)雜度呢?
下面的算法就需要好好考慮如下事實(shí):
1-N這N個(gè)數(shù)中有N/5個(gè)數(shù)是5的倍數(shù)
1-N這N個(gè)數(shù)中有N/52個(gè)數(shù)是52的倍數(shù)
1-N這N個(gè)數(shù)中有N/53個(gè)數(shù)是53的倍數(shù)
...
這樣就比較明了了,容易得到如下算法:

1 int factorial3(int n) {
2   int count = 0;
3   while (n > 0) {
4     n /= 5;
5     count += n;
6   }
7   return count;
8 }

上面的算法復(fù)雜度為O(log5N),對(duì)n=1000000000,上面算法只運(yùn)行了0.004s。

問題2,求N!的二進(jìn)制表示中末尾0的個(gè)數(shù)。 
該問題和上面的問題其實(shí)非常相似,稍作轉(zhuǎn)化就成為求N!中2的因子數(shù),這樣就可以用上面的算法來解決:

1 int factorial3(int n) {
2   int count = 0;
3   while (n > 0) {
4     n >>= 1;
5     count += n;
6   }
7   return count;
8 }

這兩個(gè)問題的難點(diǎn)在轉(zhuǎn)化成求5或者2因子的個(gè)數(shù);并且善于深入挖掘問題,編碼降低復(fù)雜度。
posted on 2012-09-04 12:24 myjfm 閱讀(2012) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 算法基礎(chǔ)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 欧美激情久久久| 欧美日韩1080p| 国产精品av免费在线观看| 亚洲黄色三级| 欧美一区二区三区在线观看| 亚洲全黄一级网站| 亚洲精选在线观看| 亚洲精品一区中文| 国产精品天美传媒入口| 欧美日韩在线免费| 欧美日韩亚洲视频| 国产欧美日韩精品丝袜高跟鞋 | 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美一区二区三区免费在线看| 在线亚洲精品福利网址导航| 午夜激情综合网| 久久九九国产精品| 免费91麻豆精品国产自产在线观看| 米奇777超碰欧美日韩亚洲| 欧美专区一区二区三区| 欧美午夜精彩| 性欧美xxxx视频在线观看| 欧美电影电视剧在线观看| 欧美激情精品久久久久久久变态| 国模叶桐国产精品一区| 老司机免费视频一区二区三区| 国产精品久久久99| 99re6这里只有精品| 欧美激情女人20p| 国产精品主播| 亚洲综合第一| 一区二区三区久久精品| 久久精品国产成人| 99成人在线| 亚洲国产精品毛片| 亚洲一区二区三区中文字幕| 久久天天躁狠狠躁夜夜爽蜜月| 欧美a级在线| 午夜宅男欧美| 在线一区二区三区做爰视频网站 | 亚洲日本精品国产第一区| 亚洲视频在线观看免费| 久久福利毛片| 在线亚洲欧美专区二区| 亚洲精品123区| 亚洲国产精品成人久久综合一区| 亚洲第一精品久久忘忧草社区| 欧美中在线观看| 另类综合日韩欧美亚洲| 欧美激情一区二区三区| 亚洲男人天堂2024| 欧美色图首页| 亚洲另类自拍| 欧美福利影院| 久久频这里精品99香蕉| 国产午夜精品在线| 欧美一区二区免费观在线| 日韩亚洲一区在线播放| 欧美精品99| 亚洲精品久久久一区二区三区| 玖玖玖国产精品| 久久香蕉精品| 亚洲欧洲一区二区在线播放| 欧美激情亚洲| 欧美精品九九| 亚洲图片自拍偷拍| 亚洲一区二区在线观看视频| 国产九色精品成人porny| 香蕉精品999视频一区二区| 亚洲视频在线观看一区| 国产精品综合| 久久久久99| 欧美在线视频一区| 一区二区三区在线免费观看| 欧美777四色影视在线| 美女诱惑黄网站一区| 亚洲精品欧美日韩| 亚洲美女视频在线观看| 国产欧美精品xxxx另类| 免费日韩av电影| 欧美日韩视频专区在线播放| 欧美一区=区| 久久久噜噜噜久久狠狠50岁| 亚洲激情女人| 99热在线精品观看| 亚洲精品日韩久久| 国产精品vip| 亚洲欧美日韩一区| 久久久久国内| 一区二区三区视频观看| 亚洲一区二区三区涩| 激情五月婷婷综合| 日韩午夜在线电影| 激情欧美一区二区| 一区二区三区视频在线观看| 在线观看亚洲一区| 亚洲性视频网站| 最新国产成人在线观看| 亚洲一区精彩视频| 亚洲人成网站在线播| 亚洲一区精品视频| 亚洲综合成人在线| 国产主播一区二区| 91久久久久| 国产午夜亚洲精品羞羞网站| 亚洲国产经典视频| 国产一区二区三区的电影| 日韩午夜中文字幕| 亚洲欧洲日韩女同| 久久久成人精品| 正在播放亚洲| 久久精品国产欧美亚洲人人爽| 99精品欧美一区二区三区| 久久精品国产久精国产思思| 一区二区成人精品| 狂野欧美一区| 久久亚洲影音av资源网| 国产欧亚日韩视频| 亚洲一区精品视频| 亚洲午夜精品一区二区三区他趣| 久久噜噜亚洲综合| 欧美尤物巨大精品爽| 六月天综合网| 先锋a资源在线看亚洲| 欧美激情91| 欧美成人高清| 国产一区二区在线观看免费播放 | 欧美成人精品在线视频| 国产精品高潮呻吟久久av无限| 欧美激情亚洲精品| 一级日韩一区在线观看| 中文欧美字幕免费| 在线综合亚洲| 欧美日韩国产一区二区三区| 亚洲啪啪91| 亚洲精品1区2区| 狼狼综合久久久久综合网| 老司机67194精品线观看| 国模精品娜娜一二三区| 久久久国产91| 女同性一区二区三区人了人一| 伊人色综合久久天天| 老司机久久99久久精品播放免费| 欧美福利一区| 中文无字幕一区二区三区| 欧美日韩视频在线一区二区观看视频 | 午夜亚洲视频| 欧美日韩一区免费| 久久精品视频免费播放| 久久婷婷丁香| 一区二区三区高清| 欧美日韩日本视频| 亚洲精品中文字幕女同| 一区二区三区视频在线看| 欧美午夜视频| 亚洲视频精选| 久久精品视频网| 曰韩精品一区二区| 欧美高清在线观看| 中文一区二区| 久久久之久亚州精品露出| 一区在线观看| 欧美日韩国产不卡| 亚洲欧美日韩在线一区| 免费成人你懂的| 夜夜精品视频| 国产日韩精品电影| 男人天堂欧美日韩| 亚洲一级高清| 午夜亚洲视频| 欧美日韩国产麻豆| 久久av资源网| 欧美高清视频一区二区三区在线观看 | 亚洲午夜激情网页| 国产一区久久久| 欧美激情精品久久久| 亚洲欧美999| 亚洲成人在线视频网站| 亚洲视频欧洲视频| 伊人婷婷欧美激情| 欧美性事免费在线观看| 久久夜色精品国产欧美乱| 亚洲香蕉网站| 亚洲国产精品成人va在线观看| 亚洲欧美在线x视频| 最新精品在线| 狠狠色狠狠色综合日日五| 欧美日韩福利| 美玉足脚交一区二区三区图片| 正在播放亚洲一区| 亚洲全部视频| 欧美国产一区视频在线观看| 久久久久国内| 性色av一区二区三区在线观看|