阶乘后的零

给定一个整数 n ,返回 n! 结果中尾随零的数量。
提示 n! = n _ (n - 1) _ (n - 2) _ … _ 3 _ 2 _ 1

  • 输入:n = 3

  • 输出:0

  • 解释:3! = 6 ,不含尾随 0

  • 输入:n = 5

  • 输出:1

  • 解释:5! = 120 ,有一个尾随 0

  • 输入:n = 0

  • 输出:0

1
2
3
4
5
6
7
8
9
10
11
12
13
var trailingZeroes = function(n) {
let count = 0;
while(n>0) {
// 主要找出2*5的组合,每一个这样的组合就会产生一个0
//,但是阶乘中2出现的次数通常大于或等于5出现的次数,
// 比如8可以分解成2*2*2。5隔五个数出现一次
const k = n / 5 | 0;
count += k;
// 更新n的值
n = k;
}
return count;
};