【题目描述】
给定一个整数 n,返回 n! 结果尾数中零的数量。
【示例1】
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
【示例2】
输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
【思路】
1、要想末尾为0,必须25 ,45也可写成225
2、说确切点 就是求0-n中5的个数
3、例 n=25,5 10 15 20 25=5*5,共6个5
代码实现:
func trailingZeroes(_ n: Int) -> Int {
var tmpN = n
var res = 0
while tmpN >= 5 {
res+=tmpN/5
tmpN/=5
}
return res
}
网友评论