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能拆出55,这里需要将目标值循环或者遍历。
/**
* @param {number} n
* @return {number}
*/
var trailingZeroes = function(n) {
let sum = 0
while(n >= 5) {
n = parseInt(n / 5)
sum += n
}
return sum
};