求n的階乘中含有多少個(gè)2及其變換問題

在編程中遇到很多Math相關(guān)的問題都可以轉(zhuǎn)換為求n的階乘中含有某個(gè)數(shù)的個(gè)數(shù);
例如這道:

172. Factorial Trailing Zeroes
Given an integer *n*, return the number of trailing zeroes in *n*!.
**Note: **Your solution should be in logarithmic time complexity.

這道題的解題關(guān)鍵是:分解因子, 當(dāng)且僅當(dāng) 因子中出現(xiàn) 一對 (2,5)時(shí), 最后結(jié)果會(huì)增加一個(gè) trailing zero.分析可知,因子中出現(xiàn)2的次數(shù)要遠(yuǎn)大于5,因此,只需要計(jì)算出將n!因式分解之后5的個(gè)數(shù).
因此,問題就變成了計(jì)算n的階乘中含多少個(gè)5的問題.

分析一下30!中含有多少個(gè)具有5的質(zhì)因數(shù)
第一次:5、10、15、20、25、30 共6個(gè)
第二次:1、2、3、4、5、6共一個(gè)
第三次:沒有
公式f(x) = f(n) = (n/5) + (n/25) + ...

同理,分析一下8!中含有多少個(gè)具有2的質(zhì)因數(shù)
8! 有1 2 3 4 5 6 7 8
第一次 則它有 2 4 6 8四個(gè)具有2的質(zhì)因數(shù)
第二次 2 4 6 8變?yōu)?1 2 3 4 則只有 2 4具有2的質(zhì)因數(shù)
第三次 2 4 變?yōu)?1 2 則只有2 具有2的質(zhì)因數(shù)
公式 f(n) = (n/2) + (n/4) + (n/8) + (n/16) + ...

因此,上題的代碼就可以寫成:

class Solution {
public:
    int trailingZeroes(int n) {//質(zhì)因數(shù)分解,因?yàn)樽罱K尾部0的個(gè)數(shù)由質(zhì)因子中2和5的個(gè)數(shù)決定,min(2,5),而5的個(gè)數(shù)遠(yuǎn)小于2,因此只需要求出5個(gè)數(shù)
        int ret = 0;
        while(n)
        {
            ret += n/5;
            n /= 5;
        }
        return ret;
    }
};

此外,求N!的二進(jìn)制表示中最低位1的位置也可以轉(zhuǎn)化為求N!中質(zhì)因子2的個(gè)數(shù);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)使用 weka 中的常用分類器,完成數(shù)據(jù)分類任務(wù)。 二、實(shí)驗(yàn)內(nèi)容 了解 weka 中 explo...
    yigoh閱讀 8,832評(píng)論 5 4
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,321評(píng)論 6 13
  • 生活篇 1.無法確定自己是否餓了? 問一下自己是否需要一個(gè)蘋果。如果答案是“不”,那么你不是餓了,而是無聊了。 2...
    愛吃魚和萵苣的狗閱讀 190評(píng)論 0 0
  • 晚上沒有出去,本想叫朋友捎飯回來的,他臨時(shí)有事,我就只能自己解決了。 肚子餓的直叫,又懶得出去,只好叫了一份外賣。...
    逃課的小壞閱讀 308評(píng)論 0 0
  • 我也不知道自己從哪來,仿佛到這里來的時(shí)候就是記憶的起點(diǎn)。我觀察四周,看不見自己,周圍一片黑暗。然后突我...
    成都故事閱讀 555評(píng)論 1 1

友情鏈接更多精彩內(nèi)容