Lintcode2 Trailing Zeros solution 題解

【題目描述】

Write an algorithm which computes the number of trailing zeros in n factorial.

設(shè)計(jì)一個(gè)算法望忆,計(jì)算出n階乘中尾部零的個(gè)數(shù)瓶盛。

【題目鏈接】

http://www.lintcode.com/en/problem/trailing-zeros/

【題目解析】

傳統(tǒng)解法是首先求出n!,然后計(jì)算末尾0的個(gè)數(shù)。(重復(fù)÷10喧笔,直到余數(shù)非0)該解法在輸入的數(shù)字稍大時(shí)就會(huì)導(dǎo)致階乘得數(shù)溢出,不足取迷殿。

O(logn)解法:一個(gè)更聰明的解法是考慮n!的質(zhì)數(shù)因子乱顾。后綴0總是由質(zhì)因子2和質(zhì)因子5相乘得來的。如果我們可以計(jì)數(shù)2和5的個(gè)數(shù)绪妹,問題就解決了甥桂。考慮下面的例子:

n = 5: 5!的質(zhì)因子中 (2 * 2 * 2 * 3 * 5)包含一個(gè)5和三個(gè)2邮旷。因而后綴0的個(gè)數(shù)是1黄选。

n = 11: 11!的質(zhì)因子中(2^8 * 3^4 * 5^2 * 7)包含兩個(gè)5和三個(gè)2。于是后綴0的個(gè)數(shù)就是2婶肩。

我們很容易觀察到質(zhì)因子中2的個(gè)數(shù)總是大于等于5的個(gè)數(shù)办陷。因此只要計(jì)數(shù)5的個(gè)數(shù)就可以了。那么怎樣計(jì)算n!的質(zhì)因子中所有5的個(gè)數(shù)呢律歼?一個(gè)簡單的方法是計(jì)算floor(n/5)懂诗。例如,7!有一個(gè)5苗膝,10!有兩個(gè)5殃恒。除此之外,還有一件事情要考慮辱揭。諸如25离唐,125之類的數(shù)字有不止一個(gè)5。例如问窃,如果我們考慮28!亥鬓,我們得到一個(gè)額外的5,并且0的總數(shù)變成了6域庇。處理這個(gè)問題也很簡單嵌戈,首先對(duì)n÷5,移除所有的單個(gè)5听皿,然后÷25熟呛,移除額外的5,以此類推尉姨。

【參考答案】

http://www.jiuzhang.com/solutions/trailing-zeros/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庵朝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杜窄,死亡現(xiàn)場離奇詭異,居然都是意外死亡肺蔚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門儡羔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宣羊,“玉大人,你說我怎么就攤上這事笔链《沃唬” “怎么了腮猖?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵鉴扫,是天一觀的道長。 經(jīng)常有香客問我澈缺,道長坪创,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任姐赡,我火速辦了婚禮莱预,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘项滑。我一直安慰自己依沮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布枪狂。 她就那樣靜靜地躺著危喉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪州疾。 梳的紋絲不亂的頭發(fā)上辜限,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音严蓖,去河邊找鬼薄嫡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛颗胡,可吹牛的內(nèi)容都是我干的毫深。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼毒姨,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼费什!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤鸳址,失蹤者是張志新(化名)和其女友劉穎瘩蚪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稿黍,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疹瘦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了巡球。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片言沐。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酣栈,靈堂內(nèi)的尸體忽然破棺而出险胰,到底是詐尸還是另有隱情,我是刑警寧澤矿筝,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布起便,位于F島的核電站,受9級(jí)特大地震影響窖维,放射性物質(zhì)發(fā)生泄漏榆综。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一铸史、第九天 我趴在偏房一處隱蔽的房頂上張望鼻疮。 院中可真熱鬧,春花似錦琳轿、人聲如沸判沟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挪哄。三九已至,卻和暖如春媚送,著一層夾襖步出監(jiān)牢的瞬間中燥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工塘偎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疗涉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓吟秩,卻偏偏與公主長得像咱扣,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涵防,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 【題目描述】 Write an algorithm which computes the number of tr...
    Krirs閱讀 362評(píng)論 0 0
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)闹伪。 張土汪:刷leetcod...
    土汪閱讀 12,724評(píng)論 0 33
  • 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用 weka 中的常用分類器,完成數(shù)據(jù)分類任務(wù)偏瓤。 二杀怠、實(shí)驗(yàn)內(nèi)容 了解 weka 中 explo...
    yigoh閱讀 8,462評(píng)論 5 4
  • 作為成年人赔退,如果另一半這樣告訴你:你得好好跟人聊天,別跟個(gè)悶葫蘆似的证舟,啥也不說硕旗。或者委婉一些:你要是主動(dòng)和親友溝通...
    如水如沐閱讀 206評(píng)論 1 2
  • 前提概要:在做開發(fā)的時(shí)候一個(gè)服務(wù)器不單單只是運(yùn)行一個(gè)環(huán)境女责,我們需要搭建多個(gè)域名指向同一個(gè)服務(wù)器漆枚,這里我們需要通過n...
    尋未四叔閱讀 418評(píng)論 0 0