JAVA 大数值问题
发布网友
发布时间:2023-10-15 06:42
我来回答
共2个回答
热心网友
时间:2024-11-08 04:42
public static void main(String[] args) {
//int的最大数值是2的31次方减1,如果在最大值上继续增加则会从最小值开始,循环下去。
//BigInteger没有最大值,但计算并不是很方便需要使用里面定义的各种方法才可以。
Integer i = new Integer(2147483647);
BigInteger bi = new BigInteger("2147483647");
System.out.println(i+1);
System.out.println(bi.add(BigInteger.ONE));
}
热心网友
时间:2024-11-08 04:43
题目是这样的,计算100!+101!+……+200!
代码如下:
import java.math.*;
public class No0305
{
public static void main(String args[])
{
BigInteger
first100=new BigInteger("100"),//初始化各个大整数
last201=new BigInteger("201"),
one=new BigInteger("1"),
power=new BigInteger("1"),
result=new BigInteger("0");
for (BigInteger i=one;i.compareTo(last201)<0;i=i.add(one))//循环累加从1到201
{
power=power.multiply(i);//求i!
if(i.compareTo(first100)>=0)//从100!开始加
result=result.add(power);
}
System.out.println(result.toString());
}
}