题目描述
求n的阶乘末尾0的个数
思路
对每一个阶乘的整数因子,求解他的2因子和5因子的个数,然后累加,最后比较2和5个数的多少,少的一方就是0的个数。
执行结果
代码
public class ZeroNum {
public static int getZeroInFactorial(int num){
int count2 = 0;
int count5 = 0;
for(int j=2; j<=num; j++){
int i = j;
while (i%2 == 0){
i /= 2;
count2 ++;
}
while (i%5 == 0){
i /= 5;
count5 ++;
}
}
return Math.min(count2, count5);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()){
System.out.println(ZeroNum.getZeroInFactorial(in.nextInt()));
}
}
}