当n=3时的汉诺详细调用过程:(其中1是原始盘,2是辅助盘,3是目标盘)
hano(int n=3,1,2,3)
{
hano(2,1,3,2)
{
hano(1,1,2,3){move(1,3)};//A->C
move(1,2);//A->B
hano(1,3,1,2){mov(3,2};//C->B
}
move(1,3);//A->C
hano(2,2,1,3)
{
hano(1,2,3,1){mov(3,2)};//B->A
mov(2,3);//B->C
hano(1,1,2,3){mov(1,3)};//A->C
}
注解:每个函数后面的大括号是它的执行过程。