帮我用java实现斐波那契数列
时间: 2023-02-08 11:59:57 浏览: 116
java中斐波那契数列的简单实现方法.docx
斐波那契数列是这样一个数列:1,1,2,3,5,8,13,21,34...,第n项是第n-1项和第n-2项的和。
下面是一个使用 Java 语言实现斐波那契数列的示例:
```
public class Fibonacci {
public static void main(String[] args) {
int n = 10;
for (int i = 1; i <= n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
public static int fibonacci(int n) {
if (n <= 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
}
```
该示例代码的输出结果是:1 1 2 3 5 8 13 21 34 55
上述例子是使用递归的方式实现了斐波那契数列,这种方法的缺陷是当n较大时会爆栈.
所以我们还可以使用循环来实现,就能避免爆栈
```
public class Fibonacci {
public static void main(String[] args) {
int n = 10;
for (int i = 1; i <= n; i++) {
System.out.print(fibonacci(i) + " ");
}
}
public static int fibonacci(int n) {
if (n <= 2) {
return 1;
}
int fib = 1, fib1 = 1, fib2 = 1;
for (int i = 3; i <= n; i++) {
fib = fib1 + fib2;
fib1 = fib2;
fib2 = fib;
}
return fib;
}
}
```
输出结果是相同的.
这里,我们维护了三个变量,分别是当前斐波那契数值,和前两个斐波那契数值。通过循环来更新这三个值。
阅读全文