LeetCode 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.

 

 1 public class Solution {
 2     public int trailingZeroes(int n) {
 3         if (n <= 1) {
 4             return 0;
 5         }
 6         long c2=0;
 7         long c5=0;
 8         for (int i = n; i > 1; i--) {
 9             int k=i;
10             while (k % 5 == 0) {
11                 c5++;
12                 k = k / 5;
13             }
14             while (k % 2 == 0) {
15                 c2++;
16                 k = k / 2;
17             }
18         }
19         return (int) Math.min(c2, c5);
20     }
21 }

 

posted @ 2014-12-30 21:14  birdhack  阅读(114)  评论(0编辑  收藏  举报