<分区>
我知道这是溢出,但问题是 20 是一个相对较小的数字,这不应该发生,对吧?有没有更好的方法来找到大数(例如 1000)的阶乘而不得到这种奇怪的结果?
public class RecursiveFunctionsExamples {
public int factorial(Integer n)
{
Integer res;
if(n == 0){
res = 1;
}else{
res = n * factorial(n-1);
}
return res;
}
public static void main(String[] args) {
System.out.println(new RecursiveFunctionsExamples().factorial(20));
}
}