n!阶乘后有几个零?
程序代码:#include<stdio.h>
long int fact(long int n);
int main()
{
long int n,sum;
while(scanf("%ld",&n)&&n)
{
sum=fact(n);
printf("%ld\n",sum);
}
return 0;
}
long int fact(long int n)
{
long int k,f=0;
if(n<5) f=f+0;
else
{
k=n/5;
f=k+fact(k);
}
return f;
}我的思路是调用递归函数,将大数一次次地除以5;但是交上去就是WA,据说测试数据是要求输出30000多个零,可是我的程序能算到一亿的阶乘后面的零的个数,难道还不够吗?求高手解答!









