注册 登录
编程论坛 C++教室

求汉诺问题的思路

点滴到天明 发布于 2011-09-30 20:34, 520 次点击
要求将移动的步骤打印出来
2 回复
#2
Toomj2011-09-30 21:16
一个递归搞定
void hanoi(int n,char x,char y,char z)//n阶hanoi问题,x,y,z为三根塔座,圆盘编号由小到大1~n
{
    if(n==1)
      move(x,1,z);
    else
    {
        hanoi(n-1,x,z,y);
        move(x,n,z);//move函数就是打印移动步骤,将编号为n的圆盘从x移到z
        hanoi(n-1,y,x,z);
     }
}
#3
点滴到天明2011-09-30 21:20
多谢
1