小编mar*_*vin的帖子

Java中的Add-Recursion,为什么最大这么低?

我发现添加数字(带递归)的最大值是21666.要理解我的意思:我们有5号,我们必须添加以下所有数字,包括5个自己.结果为15.对于循环(使用int),最大值为int max.但是使用递归方法似乎最大值是21666.为什么会这样?

public class Rekursion {

    public static void main(String[] args) {
        int number = 21666;
        System.out.println("Result with a loop: " + add(number));
        System.out.println("Result with recursion: " + recursion(number));
    }

    public static int add(int x) {
        int sum = 0;
        for (int i = 0; i <= x; i++) {
            sum += i;
        }
        return sum;

    }

    public static int recursion(int x) {
        if (x==1){
            return 1;
        }
        else{
            return recursion(x-1)+x;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java recursion loops add

0
推荐指数
1
解决办法
465
查看次数

标签 统计

add ×1

java ×1

loops ×1

recursion ×1