计算n!中末尾0的个数

来源:互联网 发布:mac os x u盘重装系统 编辑:程序博客网 时间:2024/05/19 00:38
/*
    n!=n*(n-1)*(n-2)*...*3*2*1;
    只有一个2与一个5相乘才能产生一个0;
    其中n!中肯定是5少,所以根据5来判断0的个数问题。
    以100!为例。其中第一波可以这样100/5=20,求出所有树中有5个数的个数。100/25=4,表示含有两个5的数的个数。依次类推。

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

0 0