1. 程式人生 > >如何用Java編寫斐波那契數列

如何用Java編寫斐波那契數列

無窮數列1,1,2,3,5,8,13,21,34,55,……,稱為Fibonacci數列。它可以遞迴地定義為:

   F(n)=1                                    n=0

   F(n)=1                                    n=1

   F(n)=F(n-1)+F(n-2)                n>1

這是一個遞迴關係式,它說明當n>1時,這個數列的第n項的值是它前面兩項之和。它用兩個較小的自變數的函式值來定義一個較大自變數的函式值,所以需要兩個初始值F(0)和F(1)。

程式碼如下:

import java.util.Scanner;

public class Fibonacci {
	public static void main(String[] args) {
		System.out.println("請輸入整數n值");
		Scanner a = new Scanner(System.in);
		int n = a.nextInt();
		int[] f = new int[n];
		//為數列賦值
		for (int i = 0; i <f.length; i++) {
			f[i]=feibonaci(i);	
		}
		System.out.println("得到的斐波那契數列為:");
		//輸出斐波那契數列
		for(int p : f) {
			System.out.print(p+"\t");
		}
		
	}

	public static int feibonaci(int n) {
		if (n == 0 || n == 1) {
			return 1;
		} else {
			//遞迴呼叫
			return feibonaci(n - 1) + feibonaci(n - 2);
		}

	}

}