笔试题--斐波那契数列

题目描述

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



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