美文网首页
172. 阶乘后的零

172. 阶乘后的零

作者: 小小尧 | 来源:发表于2019-06-20 13:52 被阅读0次
    class Solution:
        def trailingZeroes(self, n: int) -> int:
            r = 0
            while n >= 5:
                n = n // 5
                r+=n
            return r
    '''
    分析
    我的思考过程是这样的:
    1)如果将阶乘结果计算出来的话,求零可以采用能不能整出10的倍数来看,或者将结果转为字符串,利用str.count()求’0’的个数。
    2)但是计算阶乘要不用递归要不用递推,运行时间都要很长,无法满足题目中的logn要求。
    3)于是想到求0也就是求其中2*5的个数,也就是5的个数,因为每一个偶数都含2,只要有5肯定有2。然后我就遍历求能不能被5整除了。。。好蠢。。。还遍历
    4)正确的做法是使用n除以5。。。具体的话上述链接分析得很好。
    '''
    
    AC

    相关文章

      网友评论

          本文标题:172. 阶乘后的零

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