n的阶乘(n!)末尾零(0)的个数

1000乘以999乘以998乘以997...3乘以2乘以乘以1的末尾连续有多少个零?

把从 1000 到 1 这些所有的数,只要是5的倍数的,一律分解成含因子5为止。

例如

10 = 2 * 5

15 = 3 * 5

25 = 5 * 5

50 = 2 * 25 = 2 * 5 * 5

100 = 4 * 25 = 4 * 5 * 5

105 = 21 * 5

125 = 5 * 5 * 5

余此类推。

从1 到1000,能被5 整除的数有1000/5 = 200 个

能被5的平方即25整除的数有 1000/25 = 40 个

能被5的立方即125整除的数有 1000/125 = 8 个

能被5的4次方即625 整除的数有1000/625 = 1个 (即625自己)

 

把这1000个数,只要能分解出因子5,就一直分解到因子5为止。共可分解出

200 + 40 + 8 + 1 = 249

即最终可分解出 249 个5。

 

只要有1个5,与偶数相乘后就会出现1个0。

而 从1 到1000,偶数的数量是足够的,所以 有249个5,乘积结果中就有249个0。

 

n的阶乘(n!)末尾零(0)的个数快速估算方法

一般来说,随着数值n的增大,n的阶乘末尾的零越来越多,而末尾零的个数是可以通过n精确计算出来的,但通常情况下,这种计算过于复杂,本文提供一种可以快速估算n!末尾零个数的方法,使用起来十分简便,而且误差也很小。

例如:30!=265252859812191058636308480000000

数一下,其末尾有7个零。

再如:100!=93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

数一下,其末尾有24个零。


于是我们要问,那么n!的末尾有多少个零呢?

答案:可以用(n-1)/4并取整来估算(或干脆直接用n/4来估算)。

如上面30!末尾有(30-1)/4=7个零,而100!末尾则有(100-1)/4=24个零。

从中我们可以看到其图线斜率接近1/4。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值