兔子问题

 1 /*兔子问题:第三个月起,每个月的兔子数是前两个月的兔子数之和。
 2  * 实现:
 3  *     A:数组实现
 4  *     B:变量的变化实现
 5  *     C:递归实现
 6  */
 7 
 8 public class diguiDemo {
 9 
10     public static void main(String[] args) {
11         // 数组实现
12         int array[] = new int[20];
13         array[0] = 1;
14         array[1] = 1;
15         for (int i = 2; i < 20; i++) {
16             array[i] = array[i - 1] + array[i - 2];
17         }
18         System.out.println(array[19]);
19         System.out.println("----------");
20         // 变化的变量实现
21         int a = 1, b = 1;
22         for (int i = 1; i < 19; i++) {
23             int temp = a;
24             a = b;
25             b = temp + b;
26         }
27         System.out.println(b);
28         System.out.println("----------");
29         // 递归实现
30         System.out.println(fab(20));
31     }
32 
33     public static int fab(int n) {
34         if (n == 1 || n == 2) {
35             return 1;
36         } else {
37             return fab(n - 1) + fab(n - 2);
38         }
39     }
40 
41 }
原文地址:https://www.cnblogs.com/AllenIverson/p/4561200.html