这里我的 while 条件有效,即使 c 的值大于用户输入,我是否遗漏了什么?
function fibonacciSequence() {
var a = 0;
var b = 1;
var userInput = parseInt(prompt("Enter the number for a Fibonacci Sequence: "));
var c = a + b;
var fibonacciArray = new Array();
fibonacciArray.push(a);
fibonacciArray.push(b);
while (c\<userInput) {
c = a + b;
a = b;
b = c;
fibonacciArray.push(c);
} c = a + b;
alert(fibonacciArray);
}
您应该将 c 的计算移至 while 循环条件检查之后:
while (c < userInput) {
c = a + b;
a = b;
b = c;
fibonacciArray.push(c);
}