java用递归和非递归实现斐波那契数列,并输出
时间: 2024-10-17 20:02:54 浏览: 59
在Java中,我们可以使用递归和循环两种常见的方法来实现斐波那契数列。
**递归实现:**
递归是一种直接将问题分解成更小版本自身的问题求解方式。对于斐波那契数列,每个数字是前两个数字之和。递归版代码如下:
```java
public class FibonacciRecursion {
public static int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[] args) {
int num = 10; // 想要计算的第几个斐波那契数
for (int i = 0; i < num; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
```
**非递归实现(循环):**
非递归方法通常效率更高,因为它避免了重复计算。这里使用迭代的方式实现:
```java
public class FibonacciNonRecursion {
public static int fibonacci(int n) {
if (n <= 1) {
return n;
}
int a = 0, b = 1, c = 0;
for (int i = 2; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
public static void main(String[] args) {
int num = 10; // 想要计算的第几个斐波那契数
for (int i = 0; i < num; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
```
阅读全文