题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39
解题思路
我们知道斐波那契数列计算公式为 。又知道 n 的取值范围,所以有两种做法
- 根据公式进行递归计算,直到 n==0 或者 n==1 的情况直接返回对应值。
- 根据公式进行递推处理,预处理出 n 范围内的所有的值。
代码实现
```java import java.util.Scanner;
public class Problem7 { public static int Fibonacci(int n) { int[] a = new int[45]; a[0] = 0; a[1] = 1; for(int i = 2;i <= n;i ++) a[i] = a[i-1] + a[i-2]; return a[n]; }
public static int Fibonacci2(int n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
return Fibonacci2(n-1) + Fibonacci2(n - 2);
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
System.out.println(Fibonacci(n));
}
}
```