斐波那契数列:1、1、2、3、5、8、13、21、34
第一种:递归
function fib(n){ if(n==1||n==2){ return 1; } return fbnq(n-1)+fbnq(n-2); } fbnq(10);
第二种:
function fb(n){ var res = [1,1]; if(n == 1 || n == 2){ return 1; } for(var i=2;i<n;i++){ res[i] = res[i-1] + res[i-2]; } return res[n-1]; }
第三种:最优
function fb(n){ var a,b,res; a = b = 1; for(var i=3;i<=n;i++){ res = a + b; a = b; b = res; } return res; } fb(10);
声明: 本文采用 BY-NC-SA 协议进行授权 | WEB开发分享
转载请注明转自《答案是丰富多彩的4:js实现斐波那契数列》