【Java算法學習】斐波那契數列問題-兔子產子經典問題
1 /** 2 * 用遞推算法求解斐波那契數列:Fn = Fn-2 +Fn-1; 3 */ 4 import java.util.*; 5 public class Fibonacci { 6 7 public static void main(String[] args) { 8 System.out.println("遞推算法求解兔子產子問題"); 9 System.out.println("請輸入時間:"); 10 Scanner input =new Scanner(System.in); 11 int n = input.nextInt(); 12 int num = fibonacci(n); 13 System.out.println("經過"+n+"個月後,共能繁殖成"+num+"對兔子!"); 14 } 15 16 public static int fibonacci(int n){ 17 int t1,t2; 18 if (n==1||n==2) { 19 return 1; 20 }else { 21 t1 = fibonacci(n-1); 22 t2 = fibonacci(n-2); 23 return t1+t2; 24 } 25 } 26 }
題目:如果一對兩個月大的兔子以後每個月可以生一對兔子,而一對新生的兔子出生兩個月後纔可以生兔子。也就是說1月份出生的3月份才能生子。假定一年內兔子沒有死亡事件,那麼一年後共有多少對兔子。