用for迴圈實現斐波那契數列
阿新 • • 發佈:2019-01-09
斐波那契數列指的是這樣一個數列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永遠都是前兩個數的相加之和,最後輸出對應的數字就成功了。