注释很详细了,思路我就不多说了吧
public static void main(String[] args) {
//新建一个值为1的BigInteger对象 ,BigInteger 支持任意精度的整数,其数据不会丢失
BigInteger result = new BigInteger("1");
//声明一个变量去接收结果
int count=0;
for (int i = 2; i <= 1000; i++)
{
// 调用multiply()方法 ,循环相乘,得出结果。
result = result.multiply(new BigInteger(i + ""));
}
/*System.out.println(result);*/
// 从整数将其变为string类型
String str = result.toString();
//遍历一边str字符串
for (int i = 0; i < str.length(); i++) {
//存在等于0的情况 count++得到结果
if (str.charAt(i)=='0') {
count++;
}
}
System.out.println("1000!的结果中包含0有"+count+"个");
} |