**给定一个整数N,返回N!结果尾数中零的数量。**示例1:输入:3输出:0解释:3!= 6,尾数中没有零。示例2:输入:5输出:1解释:5!= 120,尾数中有1个零。说明:你算法的时间复杂度应为O(log n)。
思路:5×2产生0,而且5的个数一定小于2的个数,归结为求5的个数。考虑到25=5×5,125=5×5×5。。。所以要额外计算多出来的5.
代码:
int trailingZeroes(int n) {
return n/5<5? n/5:n/5 + trailingZeroes(n/5);
}