LeetCode#172 Factorial Trailing Zeroes

Problem Definition:

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

  Note: Your solution should be in logarithmic time complexity.

 

Solution: 这题有丰富的数学背景,代码很简单。。

1 def trailingZeroes( n):
2         c=0
3         while n>=5:
4             n/=5
5             c+=n
6         return c

一行写法:

1 def trailingZeroes( n):
2         return n/5+trailingZeroes(n/5) if n>=5 else 0 

 

你可能感兴趣的:(LeetCode)