斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
先写一个斐波那契数列
1 function fibonacci(n){ 2 if(n<=2){ 3 result=1; 4 } 5 else{ 6 result=fibonacci(n-1)+fibonacci(n-2); 7 } 8 return result; 9 })
将斐波那契数列放入数组中
1 var arr=[]; 2 function fibonacci(n){ 3 if(n<=2){ 4 result=1; 5 } 6 else{ 7 result=fibonacci(n-1)+fibonacci(n-2); 8 } 9 arrPush(n,result); 10 return result; 11 } 12 function arrPush(n, value){ 13 if (arr[n - 1] === undefined) { 14 arr[n - 1] = value; 15 } 16 return; 17}
还有一种方法,现在还不太理解,先记录下来
1 var arr = null, i , len; 2 function fibonacci2(len){ 3 if(len>5 && i<len){ 4 arr[i] = arr[i-1]+ arr[i-2]; 5 i++; 6 arguments.callee(len); 7 }else{ 8 arr = arr.slice(0, len); 9 } 10 } 11 arr = [1, 1, 2, 3, 5, 8], i=6; 12 fibonacci2(6); 13 console.log(arr);
时间: 2024-10-07 13:35:23