1. 程式人生 > >51nod 1003 階乘後面0的數量

51nod 1003 階乘後面0的數量

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

6的階乘 = 1*2*3*4*5*6 = 720,720後面有1個0。

Input

一個數N(1 <= N <= 10^9)

Output

輸出0的數量

Input示例

5

Output示例

1

題解:一個數n的階乘後有多少個0取決於從1到n中2和5的個數,而2的個數遠遠多於5的個數,只要求出5的個數即可。

可以通過不斷除以5直到為0來求5的個數,這樣每隔5個數有一個5,每隔25額外多一個5.

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int temp=n/5,sum=0;
    while(temp)
    {
        sum+=temp;
        temp/=5;
    }
    cout<<sum;
}