美文网首页
LeetCode之Factorial Trailing Zero

LeetCode之Factorial Trailing Zero

作者: 糕冷羊 | 来源:发表于2020-04-26 15:23 被阅读0次

问题:



方法:
首先想到的方法肯定是计算出阶乘,然后查尾部0的个数,但是存在大数溢出的问题。然后思考后发现尾数0的个数只与因子中10的个数有关,即只和5*偶数的个数有关,通过观察可以发现阶乘中5的个数要少于偶数的个数,所以统计所有5的个数即为尾数0的个数。

class FactorialTrailingZeroes {
    fun trailingZeroes(input: Int): Int {
        var n = input
        var result = 0
        while (n > 0) {
            n /= 5
            result += n
        }
        return result
    }
}

fun main(args: Array<String>) {
    val factorialTrailingZeroes = FactorialTrailingZeroes()
    print(factorialTrailingZeroes.trailingZeroes(14))
}

有问题随时沟通

具体代码实现可以参考Github

相关文章

网友评论

      本文标题:LeetCode之Factorial Trailing Zero

      本文链接:https://www.haomeiwen.com/subject/aztjwhtx.html