1. 程式人生 > >斐波那契數列的遞歸和非遞歸解法

斐波那契數列的遞歸和非遞歸解法

err nbsp div clas pan 斐波那契 ret ror ++

//遞歸解法
function fib(n){
    if(n < 1){
        throw new Error(‘invalid arguments‘);
    }
    if(n == 1 || n == 2){
        return 1;
    }
    return fib(n - 1) + fib(n - 2);
}
//非遞歸解法
function fib(n){
    if(n < 1){
        throw new Error(‘invalid arguments‘);
    }
    if(n == 1 || n == 2){
        
return 1; } var a = 1, b = 1, res = 0; for(var i=3;i<=n;i++){ res = a + b; a = b; b = res; } return res; }

斐波那契數列的遞歸和非遞歸解法