n的階乘末尾0的個(gè)數(shù) 求N的階乘末尾有幾個(gè)0?
求N的階乘末尾有幾個(gè)0?一個(gè)正整數(shù)的階乘是所有小于或等于這個(gè)數(shù)的正整數(shù)的乘積]然后顯然只乘以10,和2×5這兩個(gè)計(jì)算可以加0所以當(dāng)n的階乘末尾有幾個(gè)零時(shí)計(jì)算0和5的和或四舍五入(n5)/5計(jì)算n的階乘
求N的階乘末尾有幾個(gè)0?
一個(gè)正整數(shù)的階乘是所有小于或等于這個(gè)數(shù)的正整數(shù)的乘積
]然后顯然只乘以10,和2×5
這兩個(gè)計(jì)算可以加0
所以當(dāng)n的階乘末尾有幾個(gè)零時(shí)
計(jì)算0和5的和
或四舍五入(n5)/5
計(jì)算n的階乘末尾有多少個(gè)0?
乘積末尾的零的個(gè)數(shù)取決于因子中2和5的個(gè)數(shù)。對(duì)于階乘,每?jī)蓚€(gè)數(shù)至少有一個(gè)因子為2,因此因子為2就足夠了。5的系數(shù)比較小,至少5個(gè)連續(xù)的數(shù)字可以保證一定有一個(gè)。注意,五個(gè)連續(xù)的數(shù)字保證了系數(shù)5是最小的。例如,1,2,3,4,5,只有一個(gè)。intnzeoffactorial(INTN){intzerocnt=0,intmultipleof5=5,而(n>=multipleof5){zerocnt=n/multipleof5,multipleof5*=5}returnzerocnt}的階乘,例如nzeoffactorial(81)=19
0是1,這是一個(gè)人工規(guī)則。
但是這個(gè)人為的規(guī)則不是武斷的。它基于正整數(shù)的階乘運(yùn)算。
因?yàn)閚的階乘(n是正整數(shù))是從1×2×X n乘以n個(gè)數(shù)。但此定義對(duì)0無(wú)效。所以人們只能根據(jù)不同數(shù)的階乘關(guān)系來(lái)擴(kuò)展定義。正整數(shù)的階乘,(n1)!△n!=n1,所以n!=(n1)!÷(n1),然后把這個(gè)公式推廣到0,得到0!=1!÷1=1÷1=1。這就是定義的擴(kuò)展方式。
輸入一個(gè)正整數(shù)n以查找n末尾有多少個(gè)零?。措A乘)?例如:n=10,n!=3628800,所以答案是2
作為一行輸入,n(1≤n≤1000)
輸出一個(gè)整數(shù),也就是問(wèn)題
判斷最后有多少個(gè)零,就是判斷10可以被除多少次。10的因子有5和2,但是在0和9之間只有一個(gè)5的倍數(shù),而且2的倍數(shù)相對(duì)較多,所以這個(gè)問(wèn)題也轉(zhuǎn)化為在n階乘中尋找?guī)讉€(gè)5的倍數(shù)。比如10的階乘,10以?xún)?nèi)有2個(gè)5的倍數(shù),10/5=2,2以?xún)?nèi)沒(méi)有匹配的5,所以有2個(gè)5。
25階乘中還有6(25/5,5/5)5。因?yàn)橛?的倍數(shù)(25=5*5,貢獻(xiàn)25),所以有count=n/5。找到一批中的5個(gè)后,再找到第二批中的5個(gè)。
同樣,125中的5等于125/5 25/5/5=31。