分析:求n!中末尾零的个数,2和5会出来零,求末尾0的个数,就是求2和5同时出现的次数,要统计2和5出现的次数,易知有,5一定有2,有2不一定有5,所以问题就变成了求n中5出现的次数。
#include <stdio.h>
int main()
{
int N;
int sum = 0;
scanf("%d", &N); // 输入N
for(int i = 1; i <= N; i++)
{
int j = i;
while(0 == j % 5)
{
sum++; // 统计公约数5出现的频次
j /= 5;
}
}
printf("%d\n", sum);
}
ll cal(ll n)
{
ll res=0;
while(n)
{
res+=n/5;
n=n/5;
}
return res;
}