java求斐波那契数列的第n项fn
时间: 2024-06-13 21:04:37 浏览: 12
这里提供两种Java求斐波那契数列的第n项fn的方法:
1. 递归法:根据斐波那契数列的定义,可以使用递归的方式求解。代码如下:
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fib(n - 1) + fib(n - 2);
}
}
2. 迭代法:使用循环迭代的方式求解,代码如下:
public static int fib(int n) {
int a = 1, b = 1;
for (int i = 3; i <= n; i++) {
int c = a + b;
a = b;
b = c;
}
return b;
}
其中,第一种方法使用递归,代码简单易懂,但是当n较大时,会出现栈溢出的问题。第二种方法使用循环迭代,效率更高,但是代码稍微有些复杂。根据实际情况选择合适的方法即可。
相关问题
编程实现Fibonacci数列。Fibonacci数列的定义为F1=1,F2=1,……Fn=Fn-1+Fn-2(n≥3)用JAVA
以下是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数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
解题思路:
1. 首先,我们需要了解余数的运算规则,即(a+b)%c=(a%c+b%c)%c,以及(a*b)%c=(a%c*b%c)%c。
2. 其次,我们需要使用数组来存储Fibonacci数列中的每一个数,以便后续计算。
3. 最后,我们使用循环递推的方式,依次计算出Fibonacci数列中每个数除以10007的余数。
代码实现:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] f = new int[n + 1];
f[1] = 1;
f[2] = 1;
for (int i = 3; i <= n; i++) {
f[i] = (f[i - 1] + f[i - 2]) % 10007;
}
System.out.println(f[n]);
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)