通俗来说,递归方法就是在一个方法中自己调用自己(直接或者间接调用)。先向下执行,执行到方法调用位置,继续向下调用,直至n == 1 时,将得到的数据返回调用位置继续往下执行,就可以的到递归调用完成的结果。下面通过递归方法来解决相关问题。
1 计算1+2+3+..+100
按照数学方法来说,该题的简便计算方法为:(n * (n + 1))/2 ;在计算机语言中,思考的逻辑就应该更简洁,计算可以简单归纳为 result = sum( n - 1)+ n,n >1;result = 1,n =1。按照该思路就可以得到我们所需的代码。具体代码如下:
public static int sum(int n){
if(n == 1){
return 1;
}
int result = sum(n -1) + n;
return result;
}
递归过程如下(当n == 4时,实现自己调用自己):