設計乙個演算法,計算出n階乘中尾部零的個數
class
solution
:"""
@param: n: an integer
@return: an integer, denote the number of trailing zeros in n!
"""deftrailingzeros
(self, n)
:# write your code here, try to do it without arithmetic operators.
x =5 a =
0while n > x:
a += n // x
x *=
5return a
每含有乙個擁有約數5的數,尾部有乙個0。每含有乙個擁有約數25的數,尾部會有兩個0,不過之前算5的約數時,計算過一次,只需再記一次即可。同理,5的冪次數依次計算一次。再求和,就是尾部0的個數。 LintCode 尾部的零
尾部的零 設計乙個演算法,計算出n階乘中尾部零的個數 樣例 11 39916800,因此應該返回 2 挑戰 o logn 的時間複雜度 solutioin factorials and trailing zeroes 1.計算 23 有多少個尾0 23 1 2 3 4 5 6 7 8 9 10 11...
LintCode 尾部的零
設計乙個演算法,計算出n階乘中尾部零的個數 樣例 1 輸入 11 輸出 2 樣例解釋 11 39916800,結尾的0有2個。樣例 2 輸入 5 輸出 1 樣例解釋 5 120,結尾的0有1個。這個題很多人都分析出了只要判斷n 5以及n 5 2,一直到n 5 m,把他們累加起來就可以了。其中m要求n...
LintCode 第二題 尾部的零
描述 設計乙個演算法,計算出n階乘中尾部零的個數 樣例 11 39916800,因此應該返回 2 假如你把1 2 4 n中每乙個因數分解質因數,結果就像 1 2 3 2 2 5 2 3 7 2 2 2 10進製數結尾的每乙個0都表示有乙個因數10存在 任何進製都一樣,對於乙個m進製的數,讓結尾多乙個...