题目
难度级别:简单
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
解题思路
0是由含2的倍数与5的倍数向乘得来,一个范围内2的倍数多于5的倍数。这样可以通过直接找5的倍数的数量,但是当碰到类似于25这个数时会有6个0,因为25有2个5所以会和2个2结合,所以连续寻找5的因子数量即可
const trailingZeroes = function(n) {
let re = 0;
while (n >= 5) {
n = parseInt(n / 5)
re += n
}
return re
};
题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes