协和双语古北校区网站:100!的末尾有几个零?

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 12:25:59

末尾有几个0,即有几个10的因子。而10=2×5。从1~100所有的整数乘积中,2的因子比5的因子多,因此只要算100!中含有因子5的个数即为含有因子10的个数。在1~100中,含有因子5的数出现了20次,其中有4个数(25,50,75,100)中各含有两个5的因子,因此总共含有因子5的个数为20+4=24。故100!中,尾数含有24个0。
程序为:
#include<iostream.h>

long numOf5( long n);

void main()
{
long n;
cout<<"请输入一个正整数:";
cin>>n;
long k=0;
for(int i=5;i<=n;i+=5)
k+=numOf5(i);
cout<<n<<"!中末尾0的个数为:"<<k<<endl;
}
long numOf5(long n)
{
long i=0;
for(;n%5==0;i++)
n/=5;
return i;
}

不是那么简单的
等我算一下
10! 2
20! 4
30! 6
........
90! 18
90!91*92*....*99 19
100! 21
应该是21个吧!~`

是下面的参考资料中的代码计算出来的,末尾共24个零,
100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

100! = 9.3326215443944 * 10^157 这个结果是在百度上算的。你把100!输入百度搜索后会出来结果!