1. 程式人生 > >有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

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個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?