1000的阶乘所得的结果末尾有几个“0”?

来源:百度知道 编辑:UC知道 时间:2024/05/16 18:10:40
具体步骤是?谢谢

只要求1000里有几个5的因数就可以了
1000/5=200
再求1000里有几个25的因数
1000/25=40
再求1000里几个125的因数
1000/125=8
最后625还是一个
所以,最后得到200+40+8+1=249个
有249个零
不懂的来问吧

0是由因数10产生的,10是由2*5产生的。

每2个数就有一个是2,每5个才有1个是5的倍数。所以我们只需要讨论有多少个因数5就可以了。

每5个数有1个5的因数,那么1000/5=200个
每25个数有1个5*5的因数,那么就多出来1000/25=40个5
每125个数就有5*5*的因数,那么多出来的5增加1000/125=8个
5^4有一个,则再增加一个5

总共有5的因数1000/5+1000/25+1000/125+1
=249个5

那么1000的阶乘后面有249个0

#include <stdio.h>
void main()
{ int n,i,a,j,s,k;
printf("please input n\n");
scanf("%d", &n);
if (n>=5)
{a=n/5;
i=n/25;
j=n/125;
k=n/625;
s=i+j+k+a;
}
printf("the number of zero is %d\n", s);
}

用pascal语言编程计算的247 算错了 是249

249