在查看Java中的斐波那契數列程式之前,我們先探討一下計算斐波那契數的數學方法是什麼。
“當我們將從 0 和 1 開始的序列的最後兩個連續數字相加時,就形成了斐波那契數列。”
換句話說,我們可以說,在斐波那契數列中,下一個數字等於最後兩個數字的總和。例如,0, 1, 1, 2, 3, 5, 8, 13, 21, 34…如果我們看上面的系列,數學計算看起來非常簡單。您只需取出最後兩個斐波那契數,將它們相加即可。結果是該系列中的最新數字。因此斐波那契數列中的下一個數字將是 21 + 34 = 55。但是,在 Java 中,有多種演算法可以做到這一點。讓我們看看我們可能的方法。
Java 中的斐波那契數列 [ 迭代法 ]
我們在 Java 中計算斐波那契數列程式的第一個也是最基本的方法是使用迭代方法。顧名思義,我們將使用循環迭代該系列。讓我們深入研究以下範例。例子
public class IterativeFibonacci {
public static void fibonacci(int MAX) {
int firstNumber = 0;
int secondNumber = 1;
int fibonacci = '\0';
System.out.print(firstNumber + " ");
System.out.print(secondNumber + " ");
for (int i = 2; i < MAX; i++) {
fibonacci = firstNumber + secondNumber;
System.out.print(fibonacci + " ");
firstNumber = secondNumber;
secondNumber = fibonacci;
}
}
public static void main(String[] args) {
System.out.println("Print Fibonacci Series Using Iterative Method");
int MAX = 15;
fibonacci(MAX);
}
}
輸出
使用迭代方法列印斐波那契數列 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
解釋
在上面的範例中,我們使用一種名為「fibonacci」的方法來迭代列印斐波那契數列。變數MAX儲存要列印的斐波那契數列的總數。兩個變數firstNumber和secondNumber分別儲存前兩個斐波那契數。然後for迴圈從 i = 2 開始,因為第一個和第二個斐波那契數已經印出來。在每次迭代中,第一個和第二個數字都會更新以保持系列繼續進行。當循環接近最大限制時,即結束;我 < 最大值。在 Java 中使用遞歸的斐波那契數列
既然您熟悉迭代方法,那麼讓我們在 Java 中使用遞歸來計算斐波那契數列。例子
public class RecursiveFibonacci {
// recursive method to return the fibonacci series
public static int fibonacci(int MAX) {
// base case
if (MAX <= 1) {
return MAX;
}
// recursive call
else {
// calculate the last two fibonacci numbers recursively
return fibonacci(MAX - 2) + fibonacci(MAX - 1);
}
}
public static void main(String[] args) {
System.out.println("Print Fibonacci Series Using Recursion in Java");
int MAX = 10;
for (int i = 0; i < MAX; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
輸出
在 Java 中使用遞歸列印斐波那契數列 0 1 1 2 3 5 8 13 21 34
GO TO FULL VERSION