172. Factorial Trailing Zeroes

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

Note: Your solution should be in logarithmic time complexity.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

 

public class Solution {
    public int trailingZeroes(int n) {
      // math : n * n-1 * n-2...1 = 2 ^ x * 5 ^ y depend on y
      int cnt = 0;
      while(n > 0){
          cnt += n/5;
          n = n/5;  //26 or 126
      }
      return cnt;
    }
}

 

posted @ 2016-11-25 07:14  微微程序媛  阅读(93)  评论(0编辑  收藏  举报