Given an integer n, return the number of trailing zeroes in n!.
Note: Your solution should be in logarithmic time complexity.
统计每个数的质因子中为5的数字个数,由于5的指数会出现多个5,因此还需要考虑这些情况。只要出现5则一定会有相对应的2相乘之后为0.
2*5=10,出现一个0.
一定存在足够的0,因为2和4小于5.会提供足够的2.
public class Solution {
public int trailingZeroes(int n) {
int ans=0;
int index=0;
index=(int)(Math.log(n)/Math.log(5));
int temp=5;
for(int i=0;i<index;i++){
ans+=n/temp;
temp*=5;
}
return ans;
}
}