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
    }
}
posted @ 2020-09-08 16:24  ganshuoos  阅读(96)  评论(0编辑  收藏  举报