【牛客网-剑指offer】斐波拉契数列

题目:

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

知识点:

一列数:从1开始,前两项为1,从第三项开始每一项等于前两项之和。
例:1 1 2 3 5 8 13

思路:

两个思路:

1)循环迭代
2)递归:存入数组里

代码:

⇒循环迭代

function Fibonacci(n) {
    // write code here
    if (n <= 1) return n;
    else if (n == 2) return 1;
    else if (n >= 3 && n <= 39) {
        let f1 = 1, f2 = 1, f;
        for (var i = 3; i <= n; i++) {
            f = f1 + f2;
            f1 = f2;
            f2 = f;
        }
        return f;
    }

}

⇒递归

function Fibonacci(n) {
    // write code here
    var fb = [0, 1];
    for (var i = 2; i <= n; i++) {
        fb.push(fb[i - 2] + fb[i - 1]);
    }

    console.log(fb);
    return fb[n];

}
posted @ 2019-09-25 15:55  侠客cp  阅读(137)  评论(0)    收藏  举报