美文网首页简书面面观每天写1000字
跟我一起学算法系列10---斐波那契数列

跟我一起学算法系列10---斐波那契数列

作者: 充电实践 | 来源:发表于2019-11-21 11:46 被阅读0次

1.题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39.

2.算法分析
斐波那契数列(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*)。
该算法可以通过两种方式解决,一种是常规的规律法,另一种是递归算法。

3.代码实例
常规算法

public static int Fibo(int n) {
        if (n < 1)
            return 1;
        int n1 = 1;
        int n2 = 1;
        int result = 0;
        for (int i = 2; i <= n; i++){
            result = n1 + n2;
            n1 = n2;
            n2 = result;
        }

        return result;
    }

递归算法

public static int Fibo(int n) {
        if (n <= 1) {
            return 1;
        }else {
            return Fibo2(n - 1) + Fibo2(n - 2);
        }
    }

相关文章

网友评论

    本文标题:跟我一起学算法系列10---斐波那契数列

    本文链接:https://www.haomeiwen.com/subject/eigzictx.html