/*
* 输入一个正整数n,求n!末尾有多少个零,比如n=10;n!=3628800,所以答案为2
* 起初思路为将n放入数组中,反向遍历数组,记末尾有多少个零即可,
* 可是发现如果数太大的话,会造成int或者long长度越界,所以此方法不可采用
* 新思路为将0-n依次除以5,能整除几次5就是有多少个零,所以记录除了几次5即可
*/
public static void main(String[] args) {
System.out.println(getFactorSuffixZero(10));
}
public static int getFactorSuffixZero(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
int j = i;
while (j % 5 == 0) {
count++;
j /= 5;
}
}
return count;
}
}