172. 阶乘后的零(JS实现)

1 题目

给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。

链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes

2 思路

这道题要知道n!有多少个0,可以转换为 1...n这一系列数里面,有多少能被5整除,例如1...11中,有两个数510能被整除,因此就找到规律了

3代码

/**
 * @param {number} n
 * @return {number}
 */
var trailingZeroes = function(n) {
    let num=0;
    while (n>=5) {
        n = Math.floor(n / 5);
        num += n;
    }

    return num;
};

猜你喜欢

转载自blog.csdn.net/zjw_python/article/details/107825220
今日推荐