有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
阿新 • • 發佈:2018-07-06
package src pac spa scanner span warnings warning resource
分析:
第一個月-----------------1
第二個月-----------------1
第三個月-----------------2
第四個月-----------------3
第五個月-----------------5
第六個月-----------------8
第七個月-----------------13
從中發現,從第三個月開始,前兩個月兔子數之後為第三個兔子總數。
那程序就好辦了,叠代。
代碼如下:
1 package demo1; 2 import java.util.Scanner; 3 public class Demo { 4 //方法一: 遞歸5 public static void main(String[] args) { 6 int n = 5; 7 System.out.println("第" + n + "個月,兔子的總數為" + fun(n)); 8 } 9 private static int fun(int n) { 10 if((1 == n)||(2 == n)) 11 return 1; 12 else 13 return (fun(n-1) + fun(n-2));14 } 15 /* public static void main(String[] args) { 16 @SuppressWarnings("resource") 17 Scanner sc = new Scanner(System.in); 18 System.out.println("請輸入第幾個月:"); 19 int month = sc.nextInt(); 20 System.out.println("第"+month+"個月,兔子的總數為:"+fun(month)); 21 }22 public static int fun(int month) { 23 if(month == 1 || month ==2) { 24 return 1; 25 }else 26 return (fun(month-1) + fun(month-2)); 27 }*/ 28 }
有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?