方法其实很简单,实质是计算在阶乘当中出现的5的倍数的数字,因为只有5*2产生末尾1个0.遇到25等5的n次方数时则除等5,计算里面有几个5.
int Zero(int n)
{
int count = 0;
while(n != 0)
{
count += n/5;
n /= 5;
}
return count;
}
int main()
{
printf("%d\n",Zero(25));
printf("%d\n",Zero(10));
printf("%d\n",Zero(4));
return 0;
}