首页 > 其他 > 详细

Hanoi塔问题

时间:2019-06-02 15:29:36      阅读:89      评论:0      收藏:0      [点我收藏+]

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

  

Hanoi塔问题

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!