问题的描述是,
输入n个盘子,从从小到大排列在一起,设为A
另有B,C二个托盘
如何移动,将A中的n个托盘移动到C中,同时在任何时候保证大的盘子在小的盘子下面
普遍的通用的递归算法如下
int hanoi(int n,char A,char B,char C){
if(n==1)
{
printf("mov %d from %c to %c\n",n,A,C);
return 0;
}
hanoi(n-1,A,C,B);
printf("mov %d from %c to %c\n",n,A,C);
hanoi(n-1,B,A,C);
}