P2388 阶乘之乘

题目背景

不告诉你……

题目描述

求出1!*2!*3!*4!*……*n!的末尾有几个零

输入输出格式

输入格式:

n(n<=10^8)

输出格式:

有几个零

输入输出样例

输入样例#1: 

10
输出样例#1: 

7

乘数后面的零的个数只与这个数质因数分解以后2的个数和5的个数有关,0的个数等于min(sum2,sum5)
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,s,s2,s5;
long long sum2,sum5,ans;
int read()
{
    ,f=; char ch=getchar();
    ;ch=getchar();}
    +ch-',ch=getchar();
    return x*f;
}
int main()
{
    n=read();
    ;i<=n;i++)
    {
        s=i;s2=s5=;
        ==)
         s/=,s2++;
        s=i;
        ==)
         s/=,s5++;
        sum2+=s2*(n-i+);
        sum5+=s5*(n-i+);
    }
    ans=min(sum2,sum5);
    printf("%lld",ans);
    ;
}
05-11 10:48