不死神兔

代码两种方式

 public static void main(String[] args) {
//       有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。
//       已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。
//       假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?
//      数组实现
        int[] rabbits = new int[12];
        rabbits[0] = 1;
        rabbits[1] = 1;
        for (int i = 2; i < rabbits.length; i++) {
            rabbits[i] = rabbits[i - 1] + rabbits[i - 2];
        }
        int month = month(12);

        System.out.println("兔子一年内(12个月)能繁殖成:" + rabbits[11] + "对");
        System.out.println("兔子一年内(12个月)能繁殖成:" + month + "对");
}
    /**
     * 不死神兔递归代码实现
     * @param num 月份
     * @return
     */
    public static int month(int num) {
        if (num == 1 || num == 2) {
            return 1;
        } else {

            return (month(num - 1)) + (month(num - 2));
        }
    }
原文地址:https://www.cnblogs.com/zk2020/p/13984557.html