题目描述
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
问题分析
此题是有套路的,先算输入的数里面有几个5,将结果加入到ans中,然后再算结果里有几个5,再加入到ans中,如此循环直到结果里没有5了为止。最后返回ans。
代码实现
class Solution {
public:
int trailingZeroes(int n) {
int ans = 0;
while(n > 0){
ans += n / 5;
n /= 5;
}
return ans;
}
};
99.03% ……