遞迴實現Fibonacci數列第N個元素的計算
阿新 • • 發佈:2018-12-13
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; } } }