Hanoi塔问题

Posted caoke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘)

  

以上是关于Hanoi塔问题的主要内容,如果未能解决你的问题,请参考以下文章

Hanoi塔问题

列表形式的汉诺塔(Tower of Hanoi)Python语言实现

双色Hanoi塔问题-递归

Hanoi汉诺塔问题

C语言案例---汉诺(Hanoi)塔问题

汉诺塔(Tower of Hanoi) 递归代码实现 c语言(顺序栈实现)