不死神兔
阿新 • • 發佈:2020-11-16
程式碼兩種方式
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)); } }