给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
解题思路:这个问题非常简单。
因为所有尾随0都来自因子5 * 2。
但有时一个数字可能有5个因子,例如,25个有5个因子,125个有3个5个因子。在n!操作,因素2总是充足的。所以我们只计算从1到n的所有数字中有多少5个因子。
class Solution {
public int trailingZeroes(int n) {
return n == 0 ? 0 : n / 5 + trailingZeroes(n / 5);
}
}