#include<stdio.h>
void hanoi(int n, char A,char B,char C){
//将塔A移动至C ,B为辅助
if(n==1){
//递归出口,只有一片时,直接移动
printf("%c -> %c\n", A , C);
//这里模拟移动
}else{
//分析:只有两片时,先把上面的一片放到B;然后最底层的放到C;再把B上的摞到C
//n片时递归将
//重点在于移动的目标
hanoi(n-1,A,C,B) ;
//我们要使上面的n-1片用一系列操作"绕过"C移动到B;
printf("%c -> %c\n", A , C);
//将最大一片移动到C
hanoi(n-1,B,A,C) ;
//让B上面放置的n-1片用一系列操作"绕过"B移动到C;
}
}
int main(){
hanoi(3,'A','B','C');
return 0;
}