斐波那契数列
题目:
用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数f(n) = f(n-1)+f(n-2)。 f(1) = 1, f(2) = 1 等
解答:
function fib(count) {
//参数判断
var count = parseInt(count);
if (isNaN(count) || count <= 0) {
return 0;
}
function f(count) {
if (count <= 2) {
return 1;
}
return f(count - 1) + f(count - 2);
}
return f(count);
}
console.log(fib(2));
//arguments.callee表示函数本身
function fib(n){
if(n<3){
return 1;
}else{
return arguments.callee(n-1)+arguments.callee(n-2);
}
}
function fib(n){
if(n==1 || n==2){
return 1;
}else{
return fib(n-1)+fib(n-2);
}
}
function fib(n){
if(n<3){
return 1;
}else{
var f1=1,f2=1,fn;
for(var i=3;i<=n;i++){
fn=f1+f2;
f1=f2;
f2=fn;
}
return fn;
}
}
知识点:斐波那契数列、递归