码迷,mamicode.com
首页 > 其他好文 > 详细

Hanoi塔问题

时间:2019-06-02 15:58:26      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:move   堆叠   java   开始   表示   pre   rip   cti   highlight   

设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塔问题

标签:move   堆叠   java   开始   表示   pre   rip   cti   highlight   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!