题目描述:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
方法1:
主要思路:
(1)通过观察可知,尾数中0的个数和n中的5的个数是相关的,逐个的将 n 中可分离的5的个数求出,即为阶乘中尾数中0的个数;
class Solution {
public:
int trailingZeroes(int n) {
int count=0;
while(true){
n/=5;
if(n==0){
break;
}
count+=n;//统计 5 的个数
}
return count;
}
};