简单的函数返回我在 JavaScript 中没想到的数字

韦利科·库基奇

我在纸上测试中有这个简单的功能。我的答案是9当我回家console.log(fib(6))比赛我的结果8为什么?

我也问过我的教授,他给了我这张图表,但我还是不明白。有什么帮助吗?

斐波那契图表

function fib(num1) {
  if (num1 <= 2) {
    return num1 = 1;
  } else {
    return fib(num1 - 1) + fib(num1 - 2);
  }
}

console.log(fib(6));

马可

图表

该图表展示了代码正在做什么以及从根本上讲斐波那契数是什么。

以下是该图表的工作原理:

  1. 图表从 开始fib(6)
  2. fib(x) = fib(x - 1) + fib(x - 2),然后fib(6) = fib(5) + fib(4)如图所示通过向下移动的箭头。
  3. 您现在有两个值要包含在最终答案中fib(5)fib(4)该图表显示了如何为它们重复上述过程(将它们分成更小的部分)。
  4. 重复步骤 1-3,直到到达fib(2)or fib(1)根据定义自动等于1
  5. 最后,1将图表底部的所有s相加(有 8 个)。

这与您的代码一起出现:

function fib(num1) {
  // Start with a number (Step 1 on the chart).
  if (num1 <= 2) {
    // If it is <= 2, return 1 (Step 4 on the chart)
    return num1 = 1;
  } else {
    // Break it down into smaller parts (Step 2 on the chart) 
    // and recursively repeat the process for the new parts (Step 3 on the chart).
    return fib(num1 - 1) + fib(num1 - 2);
  }
}

console.log(fib(6));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何捕捉我没想到会提高我的Alexa技能的Alexa话语?

IF这次没想到

我的WPF应用程序开箱即可识别每个显示器的dpi。我没想到吗?

| 没想到此时

PHP xmllib XSD验证名称空间错误:没想到X,没想到X

没想到服务器HTML在<main>中包含<div>

命令错误“|” 没想到此时

没想到此时。错误级别更正并继续

React 16警告“ warning.js:36警告:没想到服务器HTML在<div>中包含<div>。”

Javascript Promise:无法从我的函数中获取返回值

Javascript 中的简单函数 NaN

Javascript:函数中的函数并返回

从JavaScript函数返回数字零

警告:没想到服务器HTML在<ul>中包含<li>。在React / Redux服务器端渲染中

React中的Javascript函数:为什么我的函数不返回多个div?

我可以总是假设不返回 Promise 或 Observable 的函数是 JavaScript 中的同步函数吗?

错误Kotlin:类型不匹配:推断类型为T?但没想到

tslint没想到在其琐事中会有jsx。什么是琐事?

没想到的SweetAlert:意外的第二个争论?

函数在JavaScript中返回NaN

Javascript函数中的返回值(数字总和除以3)

在javascript中返回函数的函数

从JavaScript中的函数返回函数

我无法将 javaScript 函数(地理编码)的返回值存储在变量中

我可以在javascript函数中返回2种不同的数据类型吗

返回队列中动画数量的简单函数

简单函数中的 Rust 返回类型问题

函数在C ++中返回简单的哈希码

根据参数返回日期或数字的函数-Javascript