1. 程式人生 > >遞迴實現Fibonacci數列第N個元素的計算

遞迴實現Fibonacci數列第N個元素的計算

1.1 演算法設計思想

  無窮數列1,1,2,3,5,8,13,21,34,55,…,被稱為Fibonacci數列。數列遞迴關係式說明當n大於1時,數列的第n項的值是它前面的兩項之和。它用兩個較小的自變數的函式值來定義較大自變數的函式值,所以需要兩個初始值F(0)和F(1)。

1.2 程式原始碼

import java.util.Arrays;

public class Fibonacci {

    public static void main(String[] args) {
    	Fibonacci fib = new Fibonacci();  
        int n = 20;     //數列第n項
        int i;
        int[] fibonacciArray = new int[n]; 
        for (i = 0; i < n; i++) {
            fibonacciArray[i] = fib.fibonacci(i);    //數列的第n項值存入陣列fibonacciArray[i]中
        }
        System.out.println(Arrays.toString(fibonacciArray));  //輸出數列的前n項值
        System.out.println(fibonacciArray[i-1]);
    }
    //以下方法用於遞迴求解數列第n項的值
    private int fibonacci(int n){
        if(n==0||n==1){
            return 1;
        }
        else if(n>1){
            return fibonacci(n-1)+fibonacci(n-2);
        }
        else{
            return 0;
        }
    }
}