1*2*3*4*......*2002的乘积中,末尾有几个连续的零?

如题所述

:从1到10,连续10个整数相乘: 1×2×3×4×5×6×7×8×9×10。 连乘积的末尾有几个0? 答案是两个0。其中,从因数10得到1个0,从因数2和5相乘又得到1个0,共计两个。 刚好两个0?会不会再多几个呢? 如果不相信,可以把乘积计算出来,结果得到 原式=3628800。你看,乘积的末尾刚好两个0,想多1个也没有。 那么,如果扩大规模,拉长队伍呢?譬如说,从1乘到20: 1×2×3×4×…×19×20。这时乘积的末尾共有几个0呢? 现在答案变成4个0。其中,从因数10得到1个0,从20得到1个0,从5和2相乘得到1个0,从15和4相乘又得到1个0,共计4个0。 刚好4个0?会不会再多几个? 请放心,多不了。要想在乘积末尾得到一个0,就要有一个质因数5和一个质因数2配对相乘。在乘积的质因数里,2多、5少。有一个质因数5,乘积末尾才有一个0。从1乘到20,只有5、10、15、20里面各有一个质因数5,乘积末尾只可能有4个0,再也多不出来了。 把规模再扩大一点,从1乘到30: 1×2×3×4×…×29×30。现在乘积的末尾共有几个0? 很明显,至少有6个0。 你看,从1到30,这里面的5、10、15、20、25和30都是5的倍数。从它们每个数可以得到1个0;它们共有6个数,可以得到6个0。 刚好6个0?会不会再多一些呢? 能多不能多,全看质因数5的个数。25是5的平方,含有两个质因数5,这里多出1个5来。从1乘到30,虽然30个因数中只有6个是5的倍数,但是却含有7个质因数5。所以乘积的末尾共有7个0。 乘到30的会做了,无论多大范围的也就会做了。 例如,这次乘多一些,从1乘到100: 1×2×3×4×…×99×100。现在的乘积末尾共有多少个0?所以是499
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-25
因为一个0是由2*5组成,因为因数2明显很多,关键在5的因数,有几个因数5就有几个0

每5个数有1个因数5,总共2002/5=400个

每5^2=25个数增加一个因数5,总共需要增加2002/25=80个

每5^3=125个数再增加一个因数5,总共再增加2002/125=16个

最后每5^4=625个数还要增加因数5,总共还要增加2002/625=3个

因此总共有因数5:

400+80+16+3=499个

因此1*2*3*4*......*2002的乘积中,末尾有499个连续的零
第2个回答  2009-05-25
相当于计算乘积分解质因数后,有多少个2和5。因为只有2与5(或其倍数)相乘,才能使乘积尾产生零。并且每遇到一次就会有且只有一个零产生。而因数2的个数肯定多余5的,所以只要求出共有多少个因数5就可以了。
2002以内,5的倍数共有[2002/5]=400个;(至少有一个因数5)
2002以内,25的倍数共有[2002/25]=80个;(至少有两个因数5,但前一个已经在上面的一步中计算过了)
2002以内,125的倍数共有[2002/125]=16个;(至少有三个因数5,但前两个已经在上面的两步中计算过了)
2002以内,625的倍数共有[2002/625]=3个;(至少有四个因数5,但前三个已经在上面的三步中计算过了)
因此,乘积中共有400+80+16+3=499个0
第3个回答  2009-05-25
答:关键就是找出能产生0的数来,可以知道,5的倍数与2的倍数相乘会产生0。而2的倍数多于5的倍数,所以只需找出5的倍数有多少即可。 以下计算结果均取整数部分:
2002/5^1=400
2002/5^2=80
2002/5^3=16
2002/5^4=3
400+80+16+3=499个
参考资料:祝你学习进步本回答被提问者采纳
第4个回答  2009-05-25
零的个数要看有多少个因数2和多少个因数5,2002个数中因数2的数目比5的多,只需要讨论因数5的个数
含4个因数的,5^4=625,有3个
含3个因数的,5^3=125,有[2002/125]-3=13个
含2个因数的, 5^2=25,有[2002/5]-13-3=80-16=64个
含1个因数的,有[2002/5]-3-13-64=320个
一共有零3*4+13*3+64*2+320=499个