最近做了黑马的入学测试题,其中有一个是求1000!有多少个0.这里要调用大数据类型,然后将大数据类型转换成字符串进行输出。代码如下,有我自己的注释。大家可以看看
package javaC.com.itheima;
// 9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
import java.math.BigInteger;//调用大数据类
public class Test9 {
public static void main(String []args){
BigInteger res=new BigInteger("1");//创建一个大数据类 ,包含一个整型值res=1
for(int i=1;i<=1000;i++){//做一个循环,获得1到1000的数
String j=String.valueOf(i);//将数值类型i转换成字符串类型j
BigInteger s=new BigInteger(j); //将字符串类型j包装到大数据类型s中
res=res.multiply(s);//将1000!的值存到res中
}
String r=res.toString();//将大数据类型res转换成字符串类型,存到字符串r中
int count=0;//定义计数器
for(int i=0;i<r.length();i++){//做一个循环,获得r的位数
if(r.charAt(i)=='0')//如果r中的该位数为0;
count++; //则计数器加上一次
}
System.out.println("1000!的结果包含"+count+"个0");
}
}
|