斐波那契数列java求前n
时间: 2023-11-08 08:05:04 浏览: 48
斐波那契数列是指一个数列,其中第一和第二个数都为1,之后每个数都可以由前两个数相加得到,即:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ……
以下是Java代码实现前n项斐波那契数列的方法:
```
public static int[] fibonacci(int n) {
int[] result = new int[n];
if (n >= 1) {
result[0] = 1;
}
if (n >= 2) {
result[1] = 1;
}
for (int i = 2; i < n; i++) {
result[i] = result[i - 1] + result[i - 2];
}
return result;
}
```
相关问题
java求前十个斐波那契数列
斐波那契数列是一个以0和1开始,后面的每一项都是前两项之和的数列。根据提供的引用内容,你可以使用以下代码来求解前十个斐波那契数列:
```
public class Demo {
public static void main(String[] args) {
int n = 10; // 设置需要求解的斐波那契数列的项数
int[] fibonacci = new int[n];
fibonacci[0] = 0; // 第一项为0
fibonacci[1] = 1; // 第二项为1
for (int i = 2; i < n; i++) {
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2]; // 计算后面的每一项
}
for (int i = 0; i < n; i++) {
System.out.println("斐波那契数列第" + (i+1) + "个数为:" + fibonacci[i]);
}
}
}
```
输出结果为:
```
斐波那契数列第1个数为:0
斐波那契数列第2个数为:1
斐波那契数列第3个数为:1
斐波那契数列第4个数为:2
斐波那契数列第5个数为:3
斐波那契数列第6个数为:5
斐波那契数列第7个数为:8
斐波那契数列第8个数为:13
斐波那契数列第9个数为:21
斐波那契数列第10个数为:34
```
分治算法求斐波那契数列java
分治算法是一种将问题划分为更小子问题来解决复杂问题的算法思想,它通常会递归地将问题分成更小的子问题,然后将子问题的解合并起来得到原问题的解。在求解斐波那契数列中,可以使用分治算法来提高算法效率。
下面是使用分治算法求解斐波那契数列的Java代码:
```
public static int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
int[] fibs = {1, 1};
return fibonacciHelper(n, fibs);
}
}
private static int fibonacciHelper(int n, int[] fibs) {
if (n == 2) {
return fibs;
} else {
int[] newFibs = {fibs, fibs + fibs};
return fibonacciHelper(n - 1, newFibs);
}
}
```
上述代码中,`fibonacci`方法接收一个整数`n`作为参数,返回斐波那契数列中第`n`个数的值。在该方法中,如果`n`小于等于1,则直接返回`n`。否则,初始化一个长度为2的数组`fibs`用于存储斐波那契数列中第`1`个和第`2`个数的值,并调用私有方法`fibonacciHelper`进行递归计算。
在`fibonacciHelper`方法中,如果`n`等于2,则直接返回数组中第二个元素的值。否则,新建一个长度为2的数组`newFibs`用于存储上一次计算得到的数组中第二个和第一个元素之和,并将`n`减一作为参数递归调用该方法。