0的来源是5*2,将1000!中每个数都拆分成5*5···*2的形式,因为2的倍数远多于5的个数,故将所有书拆分为前述形式后5的总数就是1000!中0的数量
*/
package com.itheima;
public class Test9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("1000!中包含"+getZeroCount(1000)+"个0");
}
public static int getZeroCount(int num){
int count=0; //定义计数器
for(int i=5;i<=num;i+=5){ //由于计算0的个数只和5的数量有关,故每次i递增5
int temp=i;
while(temp%5==0){ //计算该数的质因数5的个数
count++;
temp=temp/5;
}
}
return count; //返回值
} |