递归初识

 

从编程思想来看,递归就是方法定义中调用方法的现象。

递归解决问题的思路:

把一个复杂的问题转换成一个与原问题类似的但是规模较小的问题来求解。

递归的策略只需要少量的程序就可以描述出求解过程中的大规模重复运算。

递归解决问题的两个重要内容:

!递归出口:不然会抛出Error内存溢出。

!规则: 与原问题相似的较小规模问题。

给出一个递归问题案例:

农场中养的兔子,第一个月有1对,第二个月有1对,第三个月有2对,从第三个月开始,该月兔子对数为前两个月兔子对数之和,求第二十个月的兔子对数?

public class ReturnUse {
  public static void main(String[] args) {
      int sum=f(20);
      System.out.println(sum);
  }
  public static int f(int n){
      if (n==1||n==2){
          return 1;
      }else {
          return f(n-1)+f(n-2);
      }
  }
}

 

原文地址:https://www.cnblogs.com/gzy918/p/13826704.html