给定一个整数N,那么N的阶乘N!末尾有多少个零呢?

我们知道最小的两个数相乘能出来0的就是2和5了,那么对于所有整数来说,能被2整除的数要多于能被5整除的数,所以这道题的解题思路就是:判断从1-N这些数中一共有包含的5的个数。
代码如下:

int NumZero(int n)
{
    int count = 0;
    for (int i = 1; i <= n; i++)//找寻1-n中每个数字包含的5个个数的总和
    {
        int j = i;
        while (j%5==0)
        {
            count++;
            j /= 5;
        }
    }
    return count;
}

你可能感兴趣的:(c++,c)