Javascript 带while的fibonacci序列

Javascript 带while的fibonacci序列,javascript,while-loop,Javascript,While Loop,我试着用JS写斐波那契序列 我可以得到结果 var x = 0; var y = 1; var result = 0; while (result<100){ result=x+y; x = y; y = result; document.write("This is next number "+result+"<br>") } console.log(result) var x=0; 变量y=1; var结果=0; 虽然(resultNo)不可能,但第二个将为您提供二次多

我试着用JS写斐波那契序列

我可以得到结果

var x = 0;
var y = 1;
var result = 0;
while (result<100){

result=x+y;
x = y;
y = result;
document.write("This is next number "+result+"<br>")
}
console.log(result)
var x=0;
变量y=1;
var结果=0;

虽然(resultNo)不可能,但第二个将为您提供二次多项式值

但是,有多种方法可以计算第n个斐波那契数,而不必计算前面的方法。一种方法是使用矩阵乘法,另一种方法是使用实值公式,其根正好是整数。

var x=0,y=1;
var x = 0, y = 1;
var count = 2 ;
var fib ;
while(count++ <=10){
    var fib = x+y ;
    x = y ;
    y = fib;
}
console.log(fib);
var计数=2; var-fib;
while(count++count只是数字位置的右边?下一个数字是前两个数字右边的和。在第二个代码中,它只是前两个数字与位置的和。

您可以消除一个外部变量进行额外减法:

var x = 0;
var y = 1;
while(y < 100) {
    y += x;
    x = y - x;
}
// result is y
var x=0;
变量y=1;
而(y<100){
y+=x;
x=y-x;
}
//结果是y
要确保这是正确的,请将上述内容与使用临时工具进行比较:

var x = 0;
var y = 1;
while(y < 100) {
    var tmp = x + y;
    x = y;   // = tmp - x
    y = tmp;
}
// result is y
var x=0;
变量y=1;
而(y<100){
var tmp=x+y;
x=y;/=tmp-x
y=tmp;
}
//结果是y
如果您想要计数器,那么额外的变量是唯一的方法*:

var x = 0;
var y = 1;
// you can define fib(0) either 1 or 0, this is fib(0) := 1
for(var i = 0; i < 10; ++i) {
    y += x;
    x = y - x;
}
// result is y
var x=0;
变量y=1;
//您可以定义fib(0)1或0,这是fib(0):=1
对于(变量i=0;i<10;++i){
y+=x;
x=y-x;
}
//结果是y
(*除非对fib(n)使用封闭形式))

尝试以下方法:-

var fib = function(n){
var a=0,b=1,f=1,i=2;
var arr =[];
while(f<n){
arr.push(f);
f=a+b;
a=b;
b=f;
i++;
}
return arr;
}
var fibArr = fib(20);
console.log(fibArr);// returns array of fibonacci
var fib=函数(n){
变量a=0,b=1,f=1,i=2;
var-arr=[];

虽然(F)这绝对应该是一个评论!请为女士解释一下…?你有没有遇到任何问题?我自己不是JS解释器。如果你使用循环,你需要跟踪更多的事情,就像在第一个代码块中一样。你可能会发现这个链接对于根据计数计算总数很有用:
var fib = function(n){
var a=0,b=1,f=1,i=2;
var arr =[];
while(f<n){
arr.push(f);
f=a+b;
a=b;
b=f;
i++;
}
return arr;
}
var fibArr = fib(20);
console.log(fibArr);// returns array of fibonacci