编辑代码

function fibonacci(n) {
    if ([1, 2].includes(n)) return 1;
    return fibonacci(n - 1) + fibonacci(n - 2);
}
const advanceFibonacci = (function advanceFibonacci() {
    const cache = []
    return function test(n) {
        if ([1, 2].includes(n)) return 1;
        if (!cache[n]) cache[n] = test(n - 1) + test(n - 2)
        return cache[n]
    }
})();
function fibonacci1(n) {
    if ([1, 2].includes(n)) return 1;
    const list = [1, 1]
    for (let i = 2; i <= n - 1; i++) {
        list.push(list[i - 1] + list[i - 2])
    }
    console.log(list)
    return list[n - 1]
}
// console.log(fibonacci(50))
console.log(fibonacci1(50))
console.log(advanceFibonacci(50))