1. 程式人生 > >用for迴圈實現斐波那契數列

用for迴圈實現斐波那契數列

斐波那契數列指的是這樣一個數列1, 1, 2, 3, 5, 8, 13, 21, 34........

斐波那契數列特別指出:第1項是第一個1。

這個數列從第3項開始,每一項都等於前兩項之和。

下面我們來實現這個數列
public static void main(String[] args) {	
    fibonaccl(10);
}
	
static void fibonaccl(int n) {
		
    if(n <= 0) {
        System.out.println("輸入的n值錯誤!");
	return;
    }
    int f = 1;
    int k = f;
    int temp;
    System.out.print("斐波那契數列為:");
    for(int i = 1 ; i < n ; i++) {
	if(i < 2) {
            System.out.print(k + " ");
        }else {
    	    System.out.print(k + " ");
	    temp = k + f;
	    f = k;
	    k = temp;			
	}
				
    }
    System.out.print(k);
    System.out.println();
    System.out.println(n + "對應的是:" +k);
}

輸出結果為:

斐波那契數列為:1 1 2 3 5 8 13 21 34 55
10對應的是:55

我們使用三個變數來進行斐波那契數列的變化。

首先,讓f = 1;k = 1;temp = 0 ;

隨著迴圈的進行,我們這樣賦值: 

            temp = k + f;
	    f = k;
	    k = temp;	
這樣我們就能保證,temp永遠都是前兩個數的相加之和,最後輸出對應的數字就成功了。