求1000阶乘的结果末尾有多少个0

求1000阶乘的结果末尾有多少个0

1000! 的结果末尾有 249 个 0。以下是详细分析过程:

通过统计 1 到 1000 中每个数包含的因子 5 的个数,并累加得到总数:

计算 1000 ÷ 5 = 200(能被 5 整除的数有 200 个,每个贡献至少 1 个 5)。

计算 1000 ÷ 25 = 40(能被 25 整除的数有 40 个,每个额外贡献 1 个 5)。

计算 1000 ÷ 125 = 8(能被 125 整除的数有 8 个,每个额外贡献 1 个 5)。

计算 1000 ÷ 625 = 1(能被 625 整除的数有 1 个,额外贡献 1 个 5)。

更高次幂(如 5^5 = 3125)超过 1000,无需计算。

虽然因子 2 的数量通常更多,但为完整性可简单验证:

提供的 Java 代码通过遍历 1 到 1000 的每个数,分别统计其因子 2 和因子 5 的数量,最终取较小值(即 Math.min(count2, count5))。此方法与上述数学推导一致,结果正确。