筆試題--斐波那契數列

題目描述

在數學上,斐波那契數列: 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];
    }
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章