我一直在研究这个主题的各种线程和语言,但似乎没有找到一种解决方案,可以通过Java中的do while循环将斐波那契数列的阈值停止在100以下。

var fbnci = [0, 1];
var i = 2;

do {
   // Add the fibonacci sequence: add previous to one before previous
   fbnci[i] = fbnci [i-2] + fbnci[i-1];
   console.log(fbnci[i]);
   fbnci[i]++;
}
while (fbnci[i] < 100);


由于某种原因,上面的代码只能运行一次。为了继续打印结果直到达到最接近的值100,我应该将while条件设置为什么?

最佳答案

您的代码有误,应该是:

var fbnci = [0, 1], max = 100, index = 1, next;
do {
  index++;
  next = fbnci[index-2] + fbnci[index-1];
  if (next <= max) {
      console.log(next);
      fbnci[index] = next;
  }
} while(next < max);


解决方案:打印所有低于最大值的光纤编号。

关于javascript - Fibonacci序列Javascript执行while循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37073964/

10-10 23:15