递归算法的基本使用

//求1-n的和
function dosum(n){n
    if(n === 1){
        return n;
    }else{
        return N + dosum(n - 1);
    }
}

// 求n的阶乘
function multiplication(n){
    if(n === 1){
        return 1;
    }
    return n*multiplication(n -1);
}

// 汉诺塔问题
var targetArr = [5,4,3,2,1];
function hanTower(arr,middle,result){
    if(arr.length === 0){
        return 0;
    }else{
        var array = arr.splice(1);
        middle.push(...array);
        result.push(...arr);
        return   2 + hanTower(middle,[], result);    
    }     
}
hanTower(targetArr ,[],[] ); // 10

  

posted @ 2020-09-27 15:05  大豆F4  阅读(118)  评论(0编辑  收藏  举报