【Leetcode】Factorial Trailing Zeroes

Given an integer n, return the number of trailing zeroes in n!.

class Solution(object):

    def trailingZeroes(self, n):

        """

        :type n: int

        :rtype: int

        """

        return 0 if n==0 else n/5+self.trailingZeroes(n/5)


class Solution(object):

    def trailingZeroes(self, n):

        """

        :type n: int

        :rtype: int

        """

        r = 0

        while n>0:

            n /= 5

            r += n

        return r

1 我的方法时间超出限制了

2 因为末尾0都是由5*2得来的,故可以统计5和2的个数,但在质因数中,2的个数总是大于等于5的个数,所以我们只需要统计5的个数就行了,有多少个5,就返回多少个0

3 用递归的方法: 第一个n/5得到5的个数,self.trailingZeroes(n/5)可以得到

4 while的方法:比如n=28, n/5=5, 还可以while循环一次,这是因为28求阶乘中有个25,第一次n/5是把单个的5找出来了,再循环一次,可以把25中的另外一个5找出来。

5 假如是126,则126/5=25,因为126中有125=5*5*5,第一次除以5时,得到单个的5,再用25/5=5,得到125中的第二个5,再除以5得到最后一个5

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,043评论 0 2
  • 人生是杯酒,有醉也有泪;人生是道题,有错也有对;人生是场缘,有爱也有恨。不要说人非,不要说己对,活着需要温馨,心情...
    安心黎阅读 1,040评论 0 0
  • 掐指算来,写作已经五年之久了,虽然没有多大成绩,但也在纸媒发表了200余篇散文、随笔,签了两本书的合约,开了公众号...
    李素莹阅读 3,255评论 5 6
  • 我们十分感激耶稣给我们成千上万次机会,把希望带给许多的生命。通过我们对每个受苦受难个人的关心,我们将拯救我们处于绝...
    芷凡bonita阅读 1,216评论 0 0

友情链接更多精彩内容