1. 程式人生 > >遞迴(斐波那契數列)

遞迴(斐波那契數列)

有這樣一組數列用陣列的方式求出固定的位數的值;用遞迴的方式求出第N位的值 1 1 2 3 5 8 13 21

public class Test5 {

    /**
    * 1 1 2 3 5 8 13 21
    * 1 = fun(1)
    * 1 = fun(2)
    * 2 = fun(1) + fun(2)
    * 3 = fun(2) + fun(3)
     */
    public static void main(String[] args) {
        //demo1();
        System.out.println(fun(8));
    }

    public
static void demo1() { //用陣列做不死神兔 int[] arr = new int[8]; //陣列中第一個元素和第二個元素都為1 arr[0] = 1; arr[1] = 1; //遍歷陣列對其他元素賦值 for(int i = 2; i < arr.length; i++) { arr[i] = arr[i - 2] + arr[i - 1]; } //如何獲取最後一個數 System.out.println(arr[arr.length - 1
]); } /* * 用遞迴求斐波那契數列 */ public static int fun(int num) { if(num == 1 || num == 2) { return 1; }else { return fun(num - 2) + fun(num - 1); } } }