首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求1000!的未尾有几个零

2013-11-29 
求1000!的未尾有几个0求1000!的未尾有几个0(用素数相乘的方法来做,如722*2*2*3*3)求出1-1000里,能被5整

求1000!的未尾有几个0
求1000!的未尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3);

求出1->1000里,能被5整除的数的个数n1,能被25整除的数的个数n2,能被125整除的数的个数n3,

能被625整除的数的个数n4.

1000!末尾的零的个数=n1+n2+n3+n4;

这是什么原因呢?请解释下,谢谢
[解决办法]
分析

5的1次幂5的倍数增加1个0 (5,10,15,20,25,30,.....)
5的2次幂25的倍数增加2个0(必然是5的倍数)(25,50,75,100,125.....)
5的3次幂125的倍数增加3个0(必然是25的倍数)(125,250,375,500.....)
5的4次幂625的倍数增加4个0(必然是125的倍数)(625,1250,1875,2500.....)
...........
所以先求出5的倍数
加上25的倍数(2个0,其中1个已记入5的倍数)
加上125的倍数(3个0,其中1个已记入5的倍数1个已记入25的倍数)
加上625的倍数(4个0,其中....................................)

1000/5=200  (1000里面含有200个5的倍数,但同时也包含了25倍数,125的倍数,625的倍数各一次)

1000/25=40(1000里面含有40个25的倍数,同时也含有125的倍数,625的倍数各一次)

1000/125=8(1000里面含有8个125的倍数,同时也含有625的倍数)

1000/625=1(1000里含有1个625的倍数)

 

所以1000!里面含 有0的个数为200+40+8+1=249个

热点排行