题目来源
洛谷P2388阶乘之乘
https://www.luogu.org/problem/show?pid=2388
思路
使末尾为0的质数乘法只有2*5
由于在一段区间内 区间积拆分出的2的个数一定大于5的个数(自行想象)
所以将0的个数视为5的个数
数据范围n<=10^8
开心地循环一遍刚好能过呢^_^
代码(c++)
#include <cstdio>
using namespace std;
int n;
long long k=0,ans=0;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
int p=i;
while(p%5==0)
p=p/5,++k;
ans+=k;
}
printf("%lld",ans);
return 0;
}