Hanoi塔问题

时间:2019-06-02 15:29:36   收藏:0   阅读:93

设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‘)

  

原文:https://www.cnblogs.com/caoke/p/10962788.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!