斐波纳契数列java
时间: 2023-11-10 15:00:06 浏览: 86
斐波纳契数列是一个数列,从第3个数开始,每个数都等于它前两个数的和。通过Java可以使用递归或者循环和数组的方式来实现斐波纳契数列。
递归方式的代码示例:
```java
public static int fibonacci(int n){
if (n == 1 || n == 2) {
return 1; //特殊情况,分开讨论
}
if (n > 2) {
return fibonacci(n - 1) + fibonacci(n - 2); //递归调用
}
return -1; //如果输入错误的n,一律返回-1
}
```
循环和数组方式的代码示例:
```java
public static long fibonacci3(int n) {
if (n < 1) {
return -1;
}
if (n == 1 || n == 2) {
return 1;
}
long[] arr = new long[n];
arr[0] = arr[1] = 1; //第一个和第二个数据特殊处理
for (int i = 2; i < n; i++) {
arr[i] = arr[i - 2] + arr[i - 1];
}
//可以得到整个的数列数据,仅n>2
System.out.println("数组内容:" + Arrays.toString(arr));
return arr[n - 1];
}
```
请问还有什么其他相关问题吗?
相关问题:
1. 斐波纳契数列是如何应用于实际生活中的?
2. 斐波纳契数列有什么特殊的性质或应用?
3. 是否可以使用非递归的方式实现斐波纳契数列?
阅读全文