Java兔子生兔子问题(递归法)

Java兔子生兔子问题(递归法)

该问题与上楼梯的问题一样,是从反方向思考推导递归公式

/**生兔子问题
* 问题描述:
* 新诞生的兔子三个月后会每个月都会产小兔子
* 即: 1 1 2 3 5 8 13
* @time 2022-05-19
* @param args
*/

public static void main(String[] args) {
    int n = 5;
    System.out.println("第 "+n+" 个月产生的兔子总数为 "+fun(n));
}

private static int fun(int n){
    
    if (n==1 || n==2) {     //排除第一个月和第二个月不生兔子的情况
        return 1;
    }else {
        return fun(n - 1) + fun(n - 2); //爬楼梯公式的倒推
    }
}

版权声明:本文为Domen_z原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。