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;
    }

}
发布了24 篇原创文章 · 获赞 5 · 访问量 2051

猜你喜欢

转载自blog.csdn.net/weixin_43288447/article/details/104315706