設計乙個演算法,計算出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>5^m.
我的第一種答案也是這麼做的,
long long trailingzeros(long long n)
return num;
}
在這裡有乙個非常重要的事,那就是變數的定義型別,由於測試資料中會有非常大的數字,使用int型別無法滿足要求,因此要使用long long型別,這也是之前一直困擾我的地方。 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階乘中尾部零的個數 class solution param n an integer return an integer,denote the number of trailing zeros in n deftrailingzeros self,n write your ...
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進製的數,讓結尾多乙個...