function f(a){
if(a==1||a==2){return 1};
return f(a-1)+f(a-2);
}
function main(a,n)
{
for(var i=1;i<=n;i++){
a++;
console.log(a-1+":"+f(a));
}
}
main(1,40) //a指从第a位开始输出 n表示计算并输出n个结果 警告:n的值不要太大 影响性能
其实是直接用js翻译的c语言版本(c语言版摘自http://baike.baidu.com/view/816.htm)
//这里是直接输出第n个值
function fibonacci(n) {
if (n < 2) {
return n;
}
return fibonacci(n - 2) + fibonacci(n - 1);
}
console.log(fibonacci(40));
下面是一个完全没有编程概念的艺术系的妹子写的她所说的最简化代码(虽然还是入门阶段,但是不要低估这群发散思维强烈的文科生 [|-_-|]):
//这里是直接输出第n个值
function fibonacci(n) {
return n < 2? n : fibonacci(n - 2) + fibonacci(n - 1);
}
console.log(fibonacci(40));