題目描述
在數學上,斐波那契數列: 1、1、2、3、5、8、13、21、34、……
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項爲0)。
n<=39
代碼
import java.util.Scanner;
public class MyTest17 {
// 1、1、2、3、5、8、13、21、34、……在數學上,斐波那契數列
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = soulation1(n);
// int m = soulation2(n);
System.out.println(m);
}
// 第一種遞歸
public static int soulation1(int n){
if (n<=1){
return n;
}
int m=soulation1(n-1)+soulation1(n-2);
return m;
}
// 第二種方法-數組
public static int soulation2(int n){
int[] ans=new int[40];
ans[0]=0;
ans[1]=1;
for (int i =2 ; i <=n ; i++) {
ans[i]=ans[i-1]+ans[i-2];
}
return ans[n];
}
}