[leetcode]阶乘后的零[javascript]

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

描述

给定一个整数 n,返回 n! 结果尾数中零的数量。

示例 1:

输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。

示例 2:

输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.

说明: 你算法的时间复杂度应为 O(log n) 。

分析

我们都知道 25 = 10,能让末尾有0的数一定能拆成2或5,能被2整除的数肯定比5的多,所以只需要找能被5整除的数了。
然后25能拆出5
5,这里需要将目标值循环或者遍历。

/**
 * @param {number} n
 * @return {number}
 */
var trailingZeroes = function(n) {
  let sum = 0
  while(n >= 5) {
    n = parseInt(n / 5)
    sum += n
  }
  return sum
};

你可能感兴趣的:(leetcode)