(一)

阶乘指一种从1开始的连续的自然数的乘积,比如:5的阶乘就是:1×2×3×4×5,记作:5!。一般地,正整数n的阶乘是:1×2×3×4×……×(n-1) ×n,记作:n!。

2000的阶乘是一个长度为5736位的巨大数,一般的计算器无力计算,会产生“溢出错误”。即便可以计算的,也只能得到用科学记数法表示的近似数:

3.3162750924506332411753933805763e 5735

想数出末尾连续的0的个数,是不可能的。

(二)

我们可以用逻辑推理的办法解决这个问题。

惯常人们会先计数10、200、1000、……这样末尾有0的因数的个数,然后统计个位是5的因数,努力计算。初始,我也是这样做的。通常会得出错误的结论或陷入困局,不得不另辟蹊径。

100的阶乘末尾有几个零(2000的阶乘的末尾有多少个零)(1)

图片来自网络

(三)

探求积的末尾产生0的数学本质,是重要的思考方法。

不管是乘法口诀中的二五一十、四五二十、五六三十、五八四十,其数学实质都是“二五一十”,也即:0的产生是由质因子2和质因子5共同决定的。

(四)

计算2000的阶乘中质因子5的个数。

(1)

5

5×5=25

5×5×5=125

5×5×5×5=625

(2)

2000÷625=3.2(个)

2000÷125=16(个)

2000÷25=80(个)

2000÷5=400(个)

(3)

2000以内625的倍数共有3个,质因子5有:

3×4=12(个)

2000以内125的倍数共有16个,包括625的倍数,质因子5有:

(16-3)×3=13×3=39(个)

2000以内25的倍数共有80个,包括125、625的倍数,质因子5有:

(80-13-3)×2=64×2=128(个)

2000以内5的倍数共有400个,包括25、125、625的倍数,质因子5有:

(400-64-13-3)×2=320×1=320(个)

(4)

质因子5共有:12 39 128 320=499(个)

(五)

同理可得:2000的阶乘中质因子2的个数为1994个。如图:

100的阶乘末尾有几个零(2000的阶乘的末尾有多少个零)(2)

演算草纸

最终2000的阶乘的末尾的0的个数为:

min{质因子2的个数,质因子5的个数}=min{1994,499}=499(个)

(六)

以上方法可以一般性地解决该类问题,发文以记。

100的阶乘末尾有几个零(2000的阶乘的末尾有多少个零)(3)

图片来自网络

,