【Leetcode172】阶乘后的0

 

尾随零的数量实际上取决于阶乘中因子 2 和因子 5 的配对数量。由于每一对 2 和 5 会产生一个尾随零,我们只需计算阶乘中因子 2 和因子 5 的数量,并取它们的较小值即可。

function trailingZeros(n) {
    let count = 0;

    // 计算因子 5 的数量
    while (n >= 5) {
        n = Math.floor(n / 5);
        count += n;
    }

    return count;
}

// 示例
const n = 10;
const zerosCount = trailingZeros(n);
console.log(zerosCount); // 输出 2,因为 10! 末尾有两个零

本文遵守 Attribution-NonCommercial 4.0 International 许可协议。 Attribution-NonCommercial 4.0 International