gpt4 book ai didi

javascript - 使用 JavaScript 的 for 循环计算斐波那契的特定步长

转载 作者:行者123 更新时间:2023-12-03 11:17:43 26 4
gpt4 key购买 nike

我正在尝试发出一个警报,它会使用 for 循环告诉您斐波那契数列的第 n 步。到目前为止我所拥有的是

var x=1;
var y=1;

var call = function(n) {
if (n===1||2) {
alert(1);
}
else {
for(i=3; i<n+1; i++) {
y=(x+y);
x=y-x;
if (i===n) {
alert(y);
}
}
}
};
call(prompt("Calculate Fibonacci to how many steps?"));

我尝试使其发挥作用的方法是:

  1. 将变量 x 和 y 设置为 1
  2. 创建一个名为 call 的函数,该函数执行以下操作:
  3. 检查调用函数时提供的数字是1还是2,如果是这样,则警报 1(1 是斐波那契数列的前两步)
  4. 如果 n 不是 1 或 2,则从 count=3 开始 for 循环
  5. 如果计数比调用的步骤多小于 1,则运行以下:
  6. 将 x 和 y 加在一起
  7. 将 y 设置为此总数
  8. 将 x 设置为总数,减去 x
  9. 如果计数等于调用的步骤,则发出总数警报
  10. 计数加一,再次循环

但我总是收到 1 的警报,即使我将第一个 if 语句的警报从 1 更改为字符串。我不确定代码或逻辑是否有错误。

我发现 for 循环并不是最有效的方法,但为了学习,我想让它以这种方式工作。我只在 Code Academy 上过几节课,所以我的经验非常有限。解决此问题或非常类似问题的其他页面是

Fibonacci calculator steps
http://ecomputernotes.com/js/javascript-tutorial/javascript-for-loop
https://answers.yahoo.com/question/index?qid=20091001160834AA5xiZ1

最佳答案

这个

if (n===1||2) {

需要

if (n===1||n===2) {

您的代码正在评估 2 的真实性,它始终为真。

此外,没有必要在每次迭代期间评估i===n。仅在循环的最后一次迭代之后才会如此,因此只需在循环之后使用 alert(y) 即可。

关于javascript - 使用 JavaScript 的 for 循环计算斐波那契的特定步长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27262958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com