小编Abd*_*i 的帖子

Java递归方法找到阶乘返回负输出

我知道它是溢出但事情是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));
}
}
Run Code Online (Sandbox Code Playgroud)

java algorithm recursion

2
推荐指数
1
解决办法
408
查看次数

标签 统计

algorithm ×1

java ×1

recursion ×1