leetcode刷題筆記172 階乘後的零

題目描述:


給定一個整數 n,返回 n! 結果尾數中零的數量。ide

示例1:spa

輸入: 3 輸出: 0 解釋: 3! = 6, 尾數中沒有零。

示例2:code

輸入: 5 輸出: 1 解釋: 5! = 120, 尾數中有 1 個零.

說明: 你的解法應該爲 O(logN) 時間複雜度。blog

題目分析:

要求末尾有多少個零,則該數應爲x*10的形式等於x*(2*5kio

也就是求該數分解質因子後有幾個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; } };
Code
相關文章
相關標籤/搜索