1.斐波那契指定项数的输出(就是输出指定的n项斐波那契数列 以数组的形式)
//1、1、2、3、5、8、13、21、34、55
function fbnq(n){ //n表示需要多少项
if(n==1){
return arr[1]; //如果一项 直接返回arr[1]
}
else if(n==2){
return arr[1,1];//如果两项 返回arr[1,1];
}
else{
var a=1; //初始化前两项
var b=1;
var arr=[1,1];//初始化一个自带前两项的数组容器
for(var i=2;i<n;i++){
var temp=a+b; //循环相加得出下一项
a=b;
b=temp; //改变a b的值 为下一次循环做准备
arr.push(temp);//添加进入数组
}
}
return arr;
}
console.log(fbnq(10));
//(10) [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
2.斐波那契数列某项的输出(用递归输出指定的第n项数列值)
//1、1、2、3、5、8、13、21、34、55
function fbnq(n){
var arr=[];
var x;
if(n==1||n==2){
return 1;
}
else{
return arguments.callee(n-1)+arguments.callee(n-2);
}
}
alert(fbnq(10));//55