从1*2*3*N*2000的结果中"0"有多少个

来源:百度知道 编辑:UC知道 时间:2024/09/25 19:15:56

public static void main(String[] args){
int count=0;//0的个数
double total=1.0;//结果
for(int i=1;i<=2000;i++){
total=total*i;//求积
}
String strTotal=String.valueOf(total);//转为字符串
char[] charArr=strTotal.toCharArray();//转化为字符数组
for(int i=0;i<charArr.length;i++){
if(charArr[i]=='0'){//依次判断每个字符是否为0
count++;
}
}
System.out.println("结果为:"+total);
System.out.println("结果中0的个数为:"+count);
}

结果为:Infinity(无限大)
结果中0的个数:自己用手算吧,算出来了告诉下大家,谢谢。

其实也不是那么没有办法,我可以给你个思路,将1到2000进行因式分解,将得到的2和5,记录下来,看最后2多还是5多,应该是2多,少的个数就是0的个数~~

public class ZeroCount {
public static void main(String[] args) {
int count = 0;
for (int i=0; i<2000; i++)
if((i+1)%10 == 0){
count++;
}
for (int i=0; i<200; i++)
if((i+1)%10 == 0){
count++;
}
for (int