思路:对于大数据问题应考虑是否会溢出,先看看5的阶乘有1个0, 10的阶乘有2有0, 遇到5就会产生1个0, 10本身有1个0,照这样到100就是有5,10,15,20,25,30,35.。。。
95,100,共产生21个0,但25=5*5 ,50=5*5*2 , 75=5*5*3,都含有2个5所以还要加3次就是24个0
代码:
#include <stdio.h>
main()
{
int i,j,m=0,n;
scanf("%d",&n);
for (i=0;i<=n;i++)
{
j=i;
while (j%5==0&&j>0)
{
j=j/5;
m++;
}
}
printf("%d",m);
}