编程实现Fibonacci数列。Fibonacci数列的定义为F1=1,F2=1,……Fn=Fn-1+Fn-2(n≥3)用JAVA
时间: 2024-02-12 09:09:46 浏览: 82
以下是Java代码实现Fibonacci数列的方法:
```java
public static int[] fibonacci(int n) {
if (n <= 0) {
return new int[0];
} else if (n == 1) {
return new int[]{1};
} else if (n == 2) {
return new int[]{1, 1};
} else {
int[] fibArray = new int[n];
fibArray[0] = 1;
fibArray[1] = 1;
for (int i = 2; i < n; i++) {
fibArray[i] = fibArray[i-1] + fibArray[i-2];
}
return fibArray;
}
}
```
调用该函数,可以得到前n个Fibonacci数列的数组。例如:
```java
int[] fibArray = fibonacci(10);
for (int i = 0; i < fibArray.length; i++) {
System.out.print(fibArray[i] + " ");
}
// 输出:1 1 2 3 5 8 13 21 34 55
```
相关问题
编写一个Java程序,利用数组实现Fibonacci数列。Fibonacci数列的定义为: F1=1, F2=1, … Fn=Fn-1+Fn-2 (n>=3)
当然可以。在Java中,我们可以创建一个数组来存储Fibonacci数列,并编写一个函数来生成并打印出指定位置的Fibonacci数。以下是一个简单的示例:
```java
public class FibonacciArray {
private static int[] fib = new int[30]; // 初始化一个足够大的数组
// 计算并初始化前两个Fibonacci数
public static void initialize() {
fib[0] = 1;
if (fib.length > 1) {
fib[1] = 1;
}
}
// 递归函数计算Fibonacci数,数组存储了已计算过的值
public static int fibonacci(int n) {
if (n <= 0) return 0;
if (n == 1 || n == 2) return fib[n - 1];
if (fib[n] != 0) return fib[n]; // 如果已经计算过,则直接返回
fib[n] = fibonacci(n - 1) + fibonacci(n - 2); // 否则计算并存储结果
return fib[n];
}
public static void main(String[] args) {
initialize(); // 先初始化数组
int n = 10; // 指定要计算的Fibonacci数的位置
System.out.println("The " + n + "th Fibonacci number is: " + fibonacci(n));
// 打印前几个Fibonacci数
for (int i = 0; i < n + 1; i++) {
System.out.print(fib[i] + " ");
}
}
}
```
在这个程序中,`initialize()` 函数用于设置初始的两个Fibonacci数,然后`fibonacci(int n)` 函数递归地计算并存储Fibonacci序列。在`main()` 函数中,你可以根据需要改变`n`的值来查看不同的Fibonacci数字。
编写一个Java程序,利用数组实现Fibonacci数列。Fibonacci数列的定义为: F1=1, F2=1, … Fn=Fn-1+Fn-2 (n>=3)
在Java中,我们可以创建一个数组来存储Fibonacci数列,然后通过循环逐步计算并填充这个数组。下面是一个简单的示例程序:
```java
public class FibonacciArray {
private static int[] fib = new int[100]; // 初始化一个足够大的数组
public static void main(String[] args) {
int n = 10; // 计算前10项Fibonacci数
// 初始化数组的第一和第二项
fib[0] = 1;
fib[1] = 1;
// 使用循环计算并存储剩余的项
for (int i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
// 输出Fibonacci数列
for (int i : fib) {
System.out.print(i + " ");
}
}
}
```
在这个程序中,我们首先定义了一个大小为100的数组`fib`,然后初始化前两项。接着使用一个for循环从第三项开始,每次将前两个数相加并存储到数组中。最后,遍历数组打印出所有生成的Fibonacci数。
阅读全文