码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 172 Factorial Trailing Zeroes

时间:2015-05-05 00:02:59      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:leetcode   algorithm   

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

Note: Your solution should be in logarithmic time complexity.

解决思路:
决定阶乘末尾零的个数其实是数列中5出现的次数,比如5的阶乘一个零。1024的阶乘末尾到底有几个零呢?

http://bbs.csdn.net/topics/380161955

技术分享
代码如下:

int trailingZeroes(int n) 
{
    int total = 0;

    while(n>=5)
    {
        n = (n-(n%5))/5;
        total = total + n;
    }

    return total;

}

python 的解决方案:

class Solution:
    # @return an integer
    def trailingZeroes(self, n):
        factor, count = 5, 0

        while True:
            curCount = n // factor
            if not curCount:
                break

            count += curCount
            factor *= 5

        return count

leetcode 172 Factorial Trailing Zeroes

标签:leetcode   algorithm   

原文地址:http://blog.csdn.net/wangyaninglm/article/details/45489069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!