StackOverflowErr计算一个大Integer的阶乘?
2022-09-03 04:10:47
我正在尝试编写一个Java程序来计算大数的阶乘。似乎无法容纳这么大的数字。BigInteger
以下是我写的(简单)代码。
public static BigInteger getFactorial(BigInteger num) {
if (num.intValue() == 0) return BigInteger.valueOf(1);
if (num.intValue() == 1) return BigInteger.valueOf(1);
return num.multiply(getFactorial(num.subtract(BigInteger.valueOf(1))));
}
上述程序在 5022 中处理的最大数量,之后程序将抛出一个 .有没有其他方法来处理它?StackOverflowError