【问题标题】:What is wrong in my this Javascript code for writing a Fibonacci series? [closed]我编写斐波那契数列的这段 Javascript 代码有什么问题? [关闭]
【发布时间】:2017-05-12 11:55:18
【问题描述】:

斐波那契数列代码在这里

function fibonnica(g) {
  var result, n;
  if (g == 1) {
    return g; //if enterd no is 1 then 1 that is very apparent
  } else {
    result = g; //7
    n = g - 1; //6
    while (n > 0) {
      result *= n ///7*6 second time 7*5 and so on..
      n = n - 1; //n=5
    }
    return result;
  }
}
console.log(fibonnica(7)); //why 7  is the output

请只告诉错误而不是我想要推动自己的解决方案

【问题讨论】:

  • 我猜你有 while(n<0){ 错字!
  • 其实这不是斐波那契数列而是阶乘计算
  • 对不起,但它在其他网页的控制台中不起作用,我不知道为什么。
  • 但是现在可以了

标签: javascript fibonacci


【解决方案1】:

你需要切换条件来检查更大的数字,而不是更小的数字。

while (n > 0) {
//       ^

function fibonnica(g) {
    var result, n;
    if (g == 1) {
        return g;
    } else {
        result = g;
        n = g - 1;
        while (n > 0) {
            result *= n;
            n = n - 1;
        }
        return result;
    }
}
console.log(fibonnica(7)); // 5040

【讨论】:

  • 该错字在帖子中出现的时间不到 20 秒。我们是否编辑问题以使答案有效,因为拼写错误不再存在,然后由于拼写错误将其标记为关闭主题。或者我们将其标记为无法重现。因为它们都是相同的标志,所以我已经投下了我的
  • @PierreLebon,我会选择拼写错误,因为第一个版本是拼写错误,比较变化,这不再是一个问题了。
  • 两个标志都在同一个选项中。我想,我们不能失败。
猜你喜欢
  • 2018-09-09
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 2011-09-30
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
相关资源
最近更新 更多