Java语言1+2+3+...+1000使用递归的写法是什么?不是循环的写法!网上找不到

Java语言1+2+3+...+1000使用递归的写法是什么?不是循环的写法!网上找不到

递归算法的核心就是有终结条件,分析这个数据序列的规则,s(N)=S(N-1)+N ,有自身调用,伪代码

int sum(int num){
  if(num==1){
       return 1;
    }

    return sum(num-1)+num;
}


public class SumAdd {

    public static int add(int number) {
        if (number == 1) return 1;
        return add(number - 1) + number;
    }

    public static void main(String[] args) {
        System.out.println(add(1000));
    }
}

public static void add(int i, int rst) {
if (i <= 1000) {
rst += i;
add(i + 1, rst);
} else {
System.out.println(rst);
}
}

public static void main(String[] args) {
    add(1, 0);
}