29.leetcode172_factorial_trailing_zeroes

Posted vlice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了29.leetcode172_factorial_trailing_zeroes相关的知识,希望对你有一定的参考价值。

1.题目描述

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

Note: Your solution should be in logarithmic time complexity.

给一个数n,在线性时间内得出末尾0的个数

2.题目分析

因为0的个数与10的倍数相等,10可以分解为2和5,所以只要求出n范围内的可以整除2和5的数的个数,取较少的那个。因为5>2,所以5的会比较少,因此只求出能整除5的个数的树就可以了。但应该注意像n=5**i(i>1)这种情况

3.解题思路

 1 class Solution(object):
 2     def trailingZeroes(self, n):
 3         """
 4         :type n: int
 5         :rtype: int
 6         """
 7         if n/5<5:   #如果n/5>=5的话,说明还能再次分解一下
 8             return n/5
 9         else:
10             return self.trailingZeroes(n/5)+n/5

 

以上是关于29.leetcode172_factorial_trailing_zeroes的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode----172. Factorial Trailing Zeroes(Java)

172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes