为什么我的斐波那契函数在循环不工作时使用javascript?
为什么生成斐波那契序列的代码不起作用?当n=10时,斐波那契数列会是这样的:[0,1,1,2,3,5,8,13,21,34],如果更大,依此类推,最后两个数字相加,得到下一个数字。我尝试使用while循环,就像我最初尝试使用for循环一样,但我无法确定要在()中进行的更改。我不认为在前8行代码中有任何问题,因为我以前尝试过它们,它们工作得很好,所以问题在后面,但我无法解决…提前谢谢为什么我的斐波那契函数在循环不工作时使用javascript?,javascript,Javascript,为什么生成斐波那契序列的代码不起作用?当n=10时,斐波那契数列会是这样的:[0,1,1,2,3,5,8,13,21,34],如果更大,依此类推,最后两个数字相加,得到下一个数字。我尝试使用while循环,就像我最初尝试使用for循环一样,但我无法确定要在()中进行的更改。我不认为在前8行代码中有任何问题,因为我以前尝试过它们,它们工作得很好,所以问题在后面,但我无法解决…提前谢谢 var seq = []; function fibonacciGenerator(n) { if (
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
while(len < n) {
var len = seq.length;
seq.push(seq[len] + seq[len - 1]);
}
}
return seq;
}
console.log(fibonacciGenerator(10));
现在我的控制台正在打印[0,1]
编辑:
好了,伙计们,我自己修复了代码,现在如果有人想知道如何使用fib-seq的while-loop,它就可以工作了
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var-seq=[];
函数fibonacciGenerator(n){
如果(n==1){
顺序推送(0);
}else if(n==2){
顺序推送(0,1);
}否则,如果(n>2){
顺序推送(0,1);
var len=序列长度;
while(len
这是一个合适的斐波那契模:
函数fibonacciGenerator(n){
var fib=[];//初始化数组!
fib[0]=0;
fib[1]=1;
对于(变量i=2;i console.log(fibonacciGenerator(10))
这里是一个合适的fibonacci模块:
函数fibonacciGenerator(n){
var fib=[];//初始化数组!
fib[0]=0;
fib[1]=1;
对于(变量i=2;i console.log(fibonacciGenerator(10))
好了,伙计们,我自己修复了代码,现在如果有人想知道如何使用fib-seq的while循环,它就可以工作了。这里是:
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var-seq=[];
函数fibonacciGenerator(n){
如果(n==1){
顺序推送(0);
}else if(n==2){
顺序推送(0,1);
}否则,如果(n>2){
顺序推送(0,1);
var len=序列长度;
while(len
好了,伙计们,我自己修复了代码,现在如果有人想知道如何使用fib-seq的while循环,它就可以工作了
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var seq = [];
function fibonacciGenerator(n) {
if (n === 1) {
seq.push(0);
} else if (n === 2) {
seq.push(0, 1);
} else if (n > 2) {
seq.push(0, 1);
var len = seq.length;
while (len < n) {
seq.push(seq[len-1] + seq[len - 2]);
len++;
}
}
return seq;
}
console.log(fibonacciGenerator(10));
var-seq=[];
函数fibonacciGenerator(n){
如果(n==1){
顺序推送(0);
}else if(n==2){
顺序推送(0,1);
}否则,如果(n>2){
顺序推送(0,1);
var len=序列长度;
while(len
While应为小写。您缺少了一个}
@Andreas抱歉,我想格式化代码,我将其更改为,而现在添加了一个显示实际问题并包含对您假设它“不起作用”的解释还有来自控制台的任何错误消息。好的,我已经编辑并添加了有效的代码,错误消息len
从未更改,因此len
始终为false。看起来您假设len随着seq.length的增长而增加,而leng应该是小写的。您缺少了一个}
@Andreas抱歉,我想格式化代码,我将其更改为,而现在添加了一个显示实际问题并包含对您假设它“不起作用”的解释还有来自控制台的任何错误消息。好的,我已经编辑并添加了有效的代码,错误消息len
从未更改,因此len
始终为false。看起来您假设len随着seq.length的增长而增加hank youu,实际上代码在数组中打印了1个额外的项,但是我通过删除第5行中的=来修复它,所以它是:函数fibonacciGenerator(n){var fib=[];//初始化数组!fib[0]=0;fib[1]=1;for(var I=2;I