阶乘后的零-简单
难度:简单
题目描述:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
1
2
3
2
3
解题思路:
计算有多少个 5 即可
循环:
var trailingZeroes = function (n) {
let total = 0;
while (n >= 5) {
n = Math.floor(n / 5);
total += n;
}
return total;
};
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
尾递归优化:
"use strict";
const trailingZeroes = (n) => {
const helper = (n, total) => {
if (n < 5) {
return total;
}
const count = Math.floor(n / 5);
return helper(count, total + count);
};
return helper(n, 0);
};
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11