首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Fibonacci序列-在javascript中从特定的#开始

Fibonacci序列-在javascript中从特定的#开始
EN

Stack Overflow用户
提问于 2018-10-13 04:26:02
回答 3查看 63关注 0票数 -2
//var myInputNumber=10;

function fibonacci(num) {
    let fib = [1,1];
    for (let i = 2; i <= num; i++) {
      fib.push(fib[i-1] + fib[i-2]);
    }
    return fib;
  }

 console.log(fibonacci(10));

完整的javascript新手点击这里。我需要一个家庭作业的帮助。我有这项工作,并显示高达x(为了更容易显示)斐波那契数字。

以上代码的结果如下: 1,1,2,3,5,8,13,21,34,55,89

我希望能够做的是指定起始数字/点(例如,>=10),并使其仅显示从该点开始的数字。

所以如果我的输入数字是10,我想要的结果是13,21,34,55,89。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-13 04:28:40

使用数组filter并在回调函数中返回那些大于作为参数传递的数字的元素

function fibonacci(num) {
  let fib = [1, 1];
  for (let i = 2; i <= num; i++) {
    fib.push(fib[i - 1] + fib[i - 2]);
  }
  return fib.filter(function(item) {
    return item > num
  });
}

console.log(fibonacci(10));

票数 0
EN

Stack Overflow用户

发布于 2018-10-13 04:34:06

只需添加另一个变量

function fibonacci(num) {
let result = [];
let fib = [1,1];
  for (let i = 2; i <= num; i++) {
    let temp = fib[i-1] + fib[i-2];
    fib.push(temp);
    if(result>=num)
      result.push(temp)
  }
  return result;
}
票数 0
EN

Stack Overflow用户

发布于 2018-10-13 04:53:44

您可能还想定义停止的限制。其余部分与现有代码非常相似

function fibonacci(num, limit) {
    let fib = [1,1];
    for (let i = num; i <= limit; i++) {
      fib.push(fib[i-1] + fib[i-2]);
    }
    return fib;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52786574

复制
相关文章

相似问题

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