題目描述:
給定一個整數 n,返回 n! 結果尾數中零的數量。ide
示例1:spa
輸入: 3 輸出: 0 解釋: 3! = 6, 尾數中沒有零。
示例2:code
輸入: 5 輸出: 1 解釋: 5! = 120, 尾數中有 1 個零.
說明: 你的解法應該爲 O(logN) 時間複雜度。blog
題目分析:
要求末尾有多少個零,則該數應爲x*10k 的形式等於x*(2k *5k)io
也就是求該數分解質因子後有幾個5就行,:如1*2*3*4*5=1*2*3*2*2*5(裏面有一個5)因此結果爲1個0class
詳見代碼im
解答代碼:


class Solution { public: int trailingZeroes(int n) { int sum=0; while(n>0){ sum+=n/5; n/=5; } return sum; } };