求1+2+3+4+…+100得和,用递归法,不用for,while等语句。
输出:1+2+3+…+100=?
先设置两个初值:sum=0,n=1,定义一个求和方法calSum(),传入100,当n<100时,使用递归求和。具体方法如下:
public class Sum {
private int sum = 0;
private int n = 1;
public static void main(String[] args) {
Sum s = new Sum();
System.out.println("1+2+3+...+100="+s.calSum(100));
}
public int calSum(int maxnum) { //递归算法
if(n <= maxnum) {
sum += n;
n++;
calSum(maxnum);
}
return sum;
}
}