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 

 

posted @ 2015-07-19 16:41  曾可爱  阅读(86)  评论(0编辑  收藏  举报