js实现斐波那契数列

    // 斐波那契数列
    let max=10000; // 最大数
    let arr=[0,1]; // 斐波那契数列由 0 和 1 开始
    // 之后的斐波那契数列系数就由之前的两数相加。
    (function fibonacci(){
        let _len = arr.length;
        let _sub = arr[_len-2] + arr[_len-1];
        if (arr[_len-1]<max){
            arr.push(_sub);
            fibonacci();
        }
    })();
    console.log(arr);

换个写法,用箭头函数

    let max=10000; // 最大数
    let arr=[0,1]; // 斐波那契数列由 0 和 1 开始
    let fibonacci = ()=>{
        let _len = arr.length;
        let _sub = arr[_len-2] + arr[_len-1];
        if (arr[_len-1]<max){
            arr.push(_sub);
            fibonacci();
        }
    };
    console.log(arr);

再换个递归写法(ChatGPT 教的)

function fibonacci(num) {
  if (num <= 1) {
    return num;
  } else {
    return fibonacci(num - 1) + fibonacci(num - 2);
  }
}

计算斐波那契数列的前十项

for (let i = 0; i < 10; i++) {
  console.log(fibonacci(i));
}

cason6810
110 声望7 粉丝