lintcode尾部的零

2021-09-24 21:16:43 字數 498 閱讀 1336

設計乙個演算法,計算出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進製的數,讓結尾多乙個...