思路:對於大數據問題應考慮是否會溢出,先看看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);
}