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 }