JavaScript手写系列(十五)(手写斐波那契数列 )

122 阅读1分钟

斐波那契数列

斐波那契数列: 1,1,2,3,5,8,13,21(第n项等于前面两项相加)

// count: 指的是第几个
// 返回值是斐波那契数列第count项的值
function fibonacci(count) {
    if (count === 1 || count === 2) return 1
    return fibonacci(count - 2) + fibonacci(count -1)
}

// for循环版(比前者的空间复杂度更低)
function fibonacci(n) {
    let n1 = 1; n2 = 1;
    for (let i = 2; i < n; i++) {
        [n1, n2] = [n2, n1 + n2]
    }
    return n2
}