java階乘計算獲得結(jié)果末尾0的個數(shù)代碼實現(xiàn)
更新時間:2013年12月02日 13:57:31 作者:
今天偶然看到一個要求,求1000~10000之間的數(shù)n的階乘并計算所得的數(shù)n!末尾有多少個0?要求: 不計算 只要得到末尾有多少個0就可以了,看下面的代碼吧
看到題目后,分析了下, 10的階乘就已經(jīng)很大了。計算出來再得到這個末尾的0的個數(shù),完全不現(xiàn)實,即使實現(xiàn)了也是很麻煩的。
后來想某個數(shù)的階乘中乘積有5結(jié)尾的數(shù)字的時候就應(yīng)該在結(jié)果的末尾產(chǎn)生一個0.
付諸實現(xiàn),測試了幾個, 沒出錯。
貼出來, 大家看看, 有問題了及時指教:
復(fù)制代碼 代碼如下:
/**
* 求1000~10000之間的數(shù)n的階層并計算所得的數(shù)n!末尾有多少個0?
*/
public static void test2(int number){
int count = number/5;
System.out.println(count);
}
又復(fù)習(xí)了下數(shù)學(xué)知識,上面的計算應(yīng)該是不對的。
應(yīng)該寫成下面這樣,每到5的倍數(shù)時候會+1 。
復(fù)制代碼 代碼如下:
int x = 10000;
while (x>0)
{
count = count + x / 5;
x = x / 5;
}
System.out.println(count);
相關(guān)文章
Springboot Thymeleaf數(shù)字對象使用方法
這篇文章主要介紹了Springboot Thymeleaf數(shù)字對象使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2007-09-09

