java中大数(100!+..+200!)表示问题
来源:百度知道 编辑:UC知道 时间:2024/06/05 11:46:35
import java.math.BigInteger;
public class Test {
public static BigInteger factorial(int num) throws IllegalArgumentException {
if(num < 0) throw new IllegalArgumentException("参数需大于等于0");
if(num == 0) return BigInteger.valueOf(1);
BigInteger result = BigInteger.valueOf(1);
for(int i=1; i<=num; i++) {
result = result.multiply(BigInteger.valueOf(i));
}
return result;
}
public static void main(String[] args) throws Exception {
BigInteger result = BigInteger.valueOf(0);
for(int i=100; i<=200; i++) {
result = result.add(factorial(i));
}
System.out.println(result);
}
}
结果:
7926210728149431589375749544176960545022734705680777470078877438622850479415815355414987183122750862756798933430760138623615796806709725279760092790363485519295508276076011454508760145303595300087339476992749043828254446921129933420589666680173696