Factorial Trailing Zeroes

2015.1.23 18:46

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

Note: Your solution should be in logarithmic time complexity.

Solution:

  The number of zeros is simply the number of 5s. That's it.

  Time complexity is O(log(n)), space complexity is O(1).

Accepted code:

 1 // 1AC, log5(N)
 2 class Solution {
 3 public:
 4     int trailingZeroes(int n) {
 5         int sum;
 6         
 7         sum = 0;
 8         while (n > 0) {
 9             sum += n / 5;
10             n /= 5;
11         }
12         
13         return sum;
14     }
15 };

 

 posted on 2015-01-23 18:49  zhuli19901106  阅读(166)  评论(0编辑  收藏  举报