leetcode刷题笔记一百七十二题 阶乘后的零
leetcode刷题笔记一百七十二题 阶乘后的零
源地址:172. 阶乘后的零
问题描述:
给定一个整数 n,返回 n! 结果尾数中零的数量。
示例 1:
输入: 3
输出: 0
解释: 3! = 6, 尾数中没有零。
示例 2:输入: 5
输出: 1
解释: 5! = 120, 尾数中有 1 个零.
说明: 你算法的时间复杂度应为 O(log n) 。
//计算尾数中的零 实际上是计算有多少个5 与 2进行相乘, 但是这种情况下,会出现很多5^2, 5^3, ... 等亦可影响尾数为0的乘数
//可通过循环对 n/5求值,依次求出有多少个5 5^2 5^3 ... 与偶数相乘
//进行累加即可
object Solution {
def trailingZeroes(n: Int): Int = {
var count = 0
var num = n
while (num > 0) {
num = num / 5
count += num
}
return count
}
}