10.斐波那契数列

こ雲淡風輕ζ 提交于 2020-02-14 21:45:10

斐波那契数列

一:斐波那契数列简介

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*

二:题目描述

求斐波那契数列的第n项(n<39)

三:代码

/*
    斐波那契数列
 */
public class Demo10 {

    public static void main(String[] args) {
        int fib = fib(32);
        System.out.println(fib);
        int fib2 = fib2(32);
        System.out.println(fib2);

    }

    public static int fib(int n){

        int[] fiba = new int[n+1];

        fiba[0] = 1;
        fiba[1] = 1;

        for (int i = 2;i<=n;i++){
            fiba[i] = fiba[i-1]+fiba[i-2];
        }

        return fiba[n];
    }

    public static int fib2(int n){
        if (n<=1){
            return 0;
        }
        int fib = 1;
        int pre1 = 0;
        int pre2 = 1;
        for (int i = 2;i<=n;i++){
            pre1 = pre2;
            pre2 = fib;
            fib = pre1+pre2;
        }
        return fib;
    }

}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!