首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fibonacci_sequence (javascript)

Fibonacci_sequence (javascript)
EN

Stack Overflow用户
提问于 2022-06-21 12:04:58
回答 2查看 58关注 0票数 -1

我试图用迭代方法得到Fibonacci序列,但是我没有得到想要的输出。

代码语言:javascript
复制
function fibonacciGenerator(n) {
  var arr = [];
  var sum;
  
  for (var i = 0; i < n; i++) {
    if (i === 0 || i === 1) {
      arr.push(i);
    } else {
      sum = arr[i - 2] + arr[i - 1];
      arr.push(sum);
    }
    
    for (var i = 0; i < n; i++) {
      console.log(arr[i]);
    }
  }
}

fibonacciGenerator(10);

我得到的结果是-

代码语言:javascript
复制
0
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined

请帮我找出问题

EN

回答 2

Stack Overflow用户

发布于 2022-06-21 12:09:07

你的内环写错地方了。

代码语言:javascript
复制
function fibonacciGenerator (n) {
    
  var arr=[];
  var sum;
 
  for(var i=0;i<n;i++){
    if(i===0 || i===1){
      arr.push(i);
    } else {
      sum=arr[i-2]+arr[i-1];
      arr.push(sum);
    }
  }
  for(var i=0;i<n;i++) {
    console.log(arr[i]);
  }
}
fibonacciGenerator (10);

票数 2
EN

Stack Overflow用户

发布于 2022-06-21 12:11:18

您必须将打印循环移到主循环之外:

代码语言:javascript
复制
function fibonacciGenerator (n) {
  var arr=[];
  var sum = 0;
  for(var i=0;i<n;i++){
    if(i===0 || i===1){
      arr.push(i);
    }
    else{
      sum=arr[i-2]+arr[i-1];
      arr.push(sum);
    }
  }
  for(var i=0;i<n;i++){
    console.log(arr[i]);
  }
}
fibonacciGenerator(10);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72700475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档