1. 程式人生 > >n的階乘結果有幾個0

n的階乘結果有幾個0

一個數 n 的階乘末尾有多少個 0 取決於從 1 到 n 的各個數的因子中 2 和 5 的個數, 而 2 的個數是遠遠多餘 5 的個數的, 因此求出 5 的個數即可. 題解中給出的求解因子 5 的個數的方法是用 n 不斷除以 5, 直到結果為 0, 然後把中間得到的結果累加.

#include<bits/stdc++.h>

using namespace std;
int main()
{
    int n;
    scanf("%d",&n);
    int sum=0;
    while(n)
    {
        sum+=n/5;
        n/=5;
    }
    printf("%d\n",sum);
    return 0;
}