# 172. 阶乘后的零

# 题目

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

# 题解

# 计算因子

2*5 得到一个零,2 的个数多于 5,所以计算 5 的个数即可

n! = n * (n-1) * (n-2) * ... * 1

每隔 5 个出现一个 5 每隔 25 个出现两个 5 。。。

所以 5 出现的个数就是 n/5 + n/25 + ... => n/5 + (n/5/5) + ...

/**
 * @param {number} n
 * @return {number}
 */
var trailingZeroes = function(n) {
  let res = 0;
  while (n) {
    n = ~~(n / 5);
    res += n;
  }
  return res;
};
1
2
3
4
5
6
7
8
9
10
11
12