什么是递归?

就是函数自己直接或者间接的调用自己

最重要的是跳出结构,因为跳出了才会有结果

注意L在递归的过程中一定要有条件限定,保证递归能够停止次数不要太多,否则就会发生栈内存溢出.

递归思想_qt

例子:关于兔子繁殖的问题:

有一对兔子,生长三个月后。开始生第一对兔子,并且以后每月生一对兔子,小兔子生长三个月后,也开始生兔子,问N个月后兔子的总数量

package com;

import java.util.Scanner;

/**
 * @Auther:qingmu
 * @Description:脚踏实地,只为出人头地
 * @Date:Created in 19:50 2019/7/3
 */
public class core {
    public static void main(String[] args) {
        //当时间等于0,1,2的时候
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        int num = getNum(i);
        System.out.println(num*2);
    }
    public static int getNum(int x){
        if(x==0||x==1||x==2){
            return 1;
        }else{
            return getNum(x-1)+getNum(x-3);
        }
    }
}