1. 程式人生 > 實用技巧 >不死神兔

不死神兔

程式碼兩種方式

 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));
        }
    }