解题思路
当n<5时,此时n的阶乘的阶乘尾数0的个数为0,
当n>5时,因为2的个数比5的个数多,我们只需要算5的个数。
1 2 3 4 5
6 7 8 9 2*5
11 12 13 14 2*6
....................2*7
....................2*8
....................2*9
....................2*5*5
....
每隔5个,会含有第一个5,每隔25个数,会含有第二个5,以此类推.
相关代码
class Solution {
public int trailingZeroes(int n) {
if(n<5) return 0;
int cnt=0;
//计算5的个数,因为2的个数远远多于5的个数
while(n!=0){
cnt=cnt+n/5;
n=n/5;
}
return cnt;
}
}