在查看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