【问题标题】:Fibonacci sequence algorithm in JavascriptJavascript中的斐波那契序列算法
【发布时间】:2021-04-04 16:45:57
【问题描述】:

我需要使用 JavaScript 解决斐波那契问题。

函数应该有 3 个参数:2 个初始值和一个最终值。

该函数应返回从给定初始值开始的斐波那契数列中最终值的位置。

例如:

输入:2,5,19

输出:5 因为系列是 2,5,7,12,19 = 5

怎么做?

【问题讨论】:

  • 7 不在斐波那契数列中。 12 或 19 都不是。
  • 我知道,但这就是问题
  • 代码在哪里?
  • 基本上你想计算从两个初始值开始需要多少“斐波那契步数”才能达到最终值。
  • 完全正确!!!没有代码

标签: javascript fibonacci


【解决方案1】:
function Fibonacci(f1, f2, val) {
    // print("fibanocci val:", f1);
    if(f1 == val) return 1;
    return Fibonacci(f2, f1+f2, val) + 1;
}

print(Fibonacci(2,5,19))

这应该是你问的。

编辑:如果输入并不总是正确的,请更改此项以避免 inf 循环:

if(f1 >= val) return 1;

【讨论】:

  • 好的,但我不太明白怎么做?
  • 这是一个递归解决方案,斐波那契 F[N] = F[N-1] + F[N-2] - 所以如果你有 f1 和 f2 初始化状态并且 move=1,你可以使用此函数具有下一个状态,其中 next_f1 = f2 和 next_f2 = f1+f2 并且移动将增加一。就像这样:return answer(next_state) + 1,当它到达最终目的地 if(f1 == val) 你将停止调用rec。希望对您有所帮助...
猜你喜欢
  • 1970-01-01
  • 2020-01-18
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 2016-09-11
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多