Hanoi塔问题

设a,b,c是3个塔座,开始时,在塔座a上有n个圆盘,这些圆盘自上而下,堆叠在一起,编号小1在上,编号大n在下

根据动态规划公式:

  hanoi(n,a,b,c)=hanoi(n-1,a,c,b)+move(n,a,b)+hanoi(n-1,c,b,a);

//Hanoi塔问题
//表示将n个圆盘从a移动到b
function hanoi(n,a,b,c) {
    if(n>0){
        hanoi(n-1,a,c,b);
        move(n,a,b);
        hanoi(n-1,c,b,a);
    }
}
//将编号为n从n1移动到n2
function move(n,n1,n2){
    console.log(n,n1+'->'+n2)
}
hanoi(4,'a','b','c')

  

posted @ 2019-06-02 14:05  无工时代  阅读(492)  评论(0编辑  收藏  举报