亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何循環數字序列以根據給定數字連續推送?(斐波那契)

如何循環數字序列以根據給定數字連續推送?(斐波那契)

FFIVE 2022-12-29 09:47:09
我試圖深入了解 Fibonacci 是如何工作的,所以我嘗試了一種不同的方法并制作了我自己的方法,但不知何故它不會循環并最終只推送 1 個而不是 5 個序列。這是我的代碼:function myFibo (n){    var myArr = [];    if(n===1){        myArr=[0];        console.log(myArr);    }else if (n===2){        myArr[0,1];    }else {                var i = 2;        while (i<n){            myArr = [0,1];            var pos1 = 0;            var pos2 = 1;            var sum = myArr[pos1] + myArr[pos2]; //1            myArr.push(sum);            pos1++;            pos2++;            i++;        }    }    console.log(myArr);}    myFibo(5);
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

您的代碼的問題很簡單,就是您在 while 循環開始時重新初始化了跟蹤變量:


while (i<n){

    myArr = [0,1];

    var pos1 = 0;

    var pos2 = 1;

您應該在 while 循環之前初始化變量。更新后的代碼如下所示:


function myFibo(n) {

  var myArr = [];


  if (n === 1) {

    myArr = [0];

    console.log(myArr);

  } else if (n === 2) {

    myArr[(0, 1)];

  } else {


    var i = 2;

    var pos1 = 0;

    var pos2 = 1;

    myArr = [0, 1];


    while (i < n) {

      var sum = myArr[pos1] + myArr[pos2]; //1

      myArr.push(sum);

      pos1++;

      pos2++;

      i++;

    }

  }

  console.log(myArr);

}


myFibo(5);


查看完整回答
反對 回復 2022-12-29
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

如果你想保留你的功能,試試這個稍微改變的代碼


function myFibo (n) {

    var myArr = [];


    if (n === 1) {

        myArr = [0];

    } else if (n === 2) {

        myArr = [0, 1];

    }

  

    if (n > 2) {

        myArr = [0, 1];

        var i = 2;

        // var sum = 0;


        while (i < n) {

            var sum = myArr[i-2] + myArr[i-1];

            myArr.push(sum);


            i++;

        }

    }

  

    console.log(myArr);


    return myArr;

}

在此處檢查控制臺輸出https://codepen.io/vyspiansky/pen/ExKjgoj?editors=0011


查看完整回答
反對 回復 2022-12-29
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號