之前的思路是根據1-10,10個數乙個區間分析乙個區間產生多少個零,發現這個方法不靠譜,隨後閱讀資料發現以下思路:
我們會發現乙個因子2和因子5組合產生乙個0,這樣我們只需統計1到n有多少個因子對,即n!的尾隨零個數,因子2的個數比因子5的個數多,因此我們只需統計出因子5的個數即可,如
統計一次5的倍數 (5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100)= 20
統計一次25的倍數(因為25的倍數有兩個5的因子,所以再統計一次)(25,50,75,100) = 4
統計一次125的倍數(125的倍數由3個5的因子,所以再統計一次,以此類推)(nil)
所以100!的尾隨零個數為24個
public class solution
return total;}}
n階乘尾部有多少個零?
計算出 n 結果後判斷,是不可以行的,結果太大會溢位。有這樣的現象 從0開始,每加5,其階乘尾部便會增加乙個0。比如 5 有乙個0,10 有兩個0,15 有三個0.現象的原因 5和任意偶數相乘就會產生0,而偶數的個數遠比5的個數多,所以每增加5 結尾就會增加乙個零。按照這個現象 n 尾部0的個數 n...
N的階乘末尾有多少個零
問題 n的階乘 n 中的末尾有多少個0?例如 n 5,n 120.末尾有1個0.分析 想到這個問題,有人可能第一反應就是現求出n 然後再根據求出的結果,最後得出n 的末尾有多少個0。但是轉念一想,會不會溢位,等等。其實,從 那些數相乘可以得到10 這個角度,問題就變得比較的簡單了。首先考慮,如果n的...
n 階乘末尾有多少個零0
題目 初階 1 2 3 100 求結果末尾有多少個零。高階 n的階乘末尾有多少個0 分析 一般類似的題目都會蘊含某種規律或簡便方法的階乘末尾乙個零表示乙個進製,則相當於乘以10而10 是由2 5所得,在1 100當中,可以產生10的有 0 2 4 5 6 8 結尾的數字,顯然2是確定的,因為4 6 ...