13-斐波那契数列

1.递归方式

// 斐波那契数列就是一个数组中的前两项的和=第三项的值
var arr = [1, 1, 2, 3, 5, 8, 13, 21, 34];

// 传入一个值,这个值是在数组中的位置(索引,不过索引是从1开始的)
function fib(n) {
    if (n == 1 || n == 2) {
        return n
    }
    return fib(n - 1) + fib(n - 2);
}
var res = fib(3);
console.log(res, "递归方式");

2.for循环方式

var arr = [1, 1, 2, 3, 5, 8, 13, 21, 34];

function fibonacci(n) {
    if (n === 1 || n === 2) {
        return n;
    }
    var n1 = 1,
        n2 = 1,
        sum;
    for (let i = 2; i < n; i++) {
        sum = n1 + n2
        n1 = n2
        n2 = sum
    }
    return sum
}
let res2 = fibonacci(5);
console.log(res2, "for循环方式");

 

posted @ 2021-06-20 03:19  猎奇游渔  阅读(107)  评论(0编辑  收藏  举报