本文发表于 4111 天前,其中的信息可能已经事过境迁
Ai摘要
加载中...|
此摘要由AI根据文章内容生成,并经过人工审核,仅用于文章内容的解释与总结

【程序1】题目:
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

思路:很显然是一个递归的问题,计算兔子的数量:1 1 2 3 5 8 13,得出规律:函数出口是月份小于3,其他的就是上个月的兔子数量+上上一个月兔子的数量。

Java
package org.sixlab.algorithm40;

public class Rabbit {
    public static void main(String\[\] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println("第" + i + "个月的兔子数量:" + countRabbit(i));
        }
    }

    public static int countRabbit(int month) {
        if (month <= 0) {
            return 0;
        } else if (month < 3) {
            return 1;
        } else {
            return countRabbit(month - 1) + countRabbit(month - 2);
        }
    }
}
赞赏博主
评论 隐私政策