java实现斐波那契
时间: 2024-09-25 12:04:36 浏览: 18
在 Java 中,我们可以使用递归、循环或者动态规划的方式来实现斐波那契数列。这里给出递归和循环两种常见的实现方式:
### 1. 递归实现
```java
public static int fibonacciRecursion(int n) {
if (n <= 0) {
throw new IllegalArgumentException("n must be a positive integer");
}
if (n == 1 || n == 2) {
return n - 1; // 斐波那契数列中第1和第2项都是1
}
return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2);
}
```
递归法虽然简洁,但对于较大的n值可能会有性能问题,因为它会重复计算很多次相同的子问题。
### 2. 循环实现
```java
public static int fibonacciIteration(int n) {
if (n <= 0) {
throw new IllegalArgumentException("n must be a positive integer");
}
int fibMinusTwo = 0;
int fibMinusOne = 1;
int fibCurrent = 0;
for (int i = 2; i <= n; i++) {
fibCurrent = fibMinusOne + fibMinusTwo;
fibMinusTwo = fibMinusOne;
fibMinusOne = fibCurrent;
}
return fibCurrent;
}
```
循环实现避免了重复计算,效率更高,尤其对于大的`n`值。
阅读全文