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);
}