51nod 1003 階乘後面0的數量

2021-09-10 07:24:10 字數 635 閱讀 9592

題目描述

n的階乘後面有多少個0?

6的階乘 =12345*6= 720,720後面有1個0。

輸入格式

乙個數n(1 <= n <= 10^9)

輸出格式

輸出0的數量

輸入

5輸出

1解題思路:

要求n的階乘後面有幾個0,要知道1~n,每個數的因子中有多少個25,而因子中2的個數遠遠大於5,所以5的個數就是25的個數,即0的個數。

方法為:用n連續除以5,結果相加,直到除到0為止。

這是因為每隔5個數就有乙個是5的倍數,每隔5個5的倍數就有乙個25的倍數,除到0時就沒有5的倍數了。

etc.120的階乘:120/5=24**>**24/5=4**>**4/5=0;120的階乘後面有24+4=28個0。

**:

#includeint main()

printf("%d",sum);

return 0;

}

51 nod 1003 階乘後面0的數量

1003 階乘後面0的數量 基準時間限制 1 秒 空間限制 65536 kb 分值 5n的階乘後面有多少個0?6的階乘 1 2 3 4 5 6 720,720後面有1個0。input 乙個數n 1 n 10 9 output 輸出0的數量input 示例 5output 示例 1程式設計之美有講 乙...

51nod 1003 階乘後面0的數量

1003 階乘後面0的數量 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏 關注 n的階乘後面有多少個0?6的階乘 1 2 3 4 5 6 720,720後面有1個0。input 乙個數n 1 n 10 9 output 輸出0的數量 input示例 5 ou...

51Nod 1003 階乘後面0的數量

我們知道,10 2 5。每乙個 2 與乙個 5 相乘,結果就增加乙個零。所以求 n 後面的連續零的個數,其實就是求其中相乘的數含因子對 2 與 5 的個數。又因為從1到某個數,所含 2 的個數比 5 多,所以問題就可以進一步簡化到求含有因子5的個數。偽 o nlogn 超時 int n,ans 0 ...