给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
分析:
最开始以为,有几个5的倍数就会有几个0,后来发现不是这样的,然后搜了一下,发现有数学公式,自己看吧,然后就有了以下代码。
class Solution {
public:
int trailingZeroes(int n) {
int count = n/5;
if(count == 0)
return count;
return count + trailingZeroes(count);
}
};