假如A塔有两个盘子,将其转移至C塔,则B塔为中转塔。
step1:A->B
step2:A->C
step3:B->C
假如A塔有三个盘子,将其转移至C塔
step1:
将A的上两个盘子转移到B塔,C为中转塔
step1:A->C
step1:A->B
step1:C->B
step2:A->C
step3:
将B上的两个盘子转移到C塔,A为中转塔
step1:B->A
step1:B->C
step1:A->C
```cpp
#include<iostream>
using namespace std;
void move(int num, char A ,char B , char C)
{
if(num==1)
cout<<num<<" "<<A<<"-->"<<C;
else
{
move(num-1,A,C,B);
cout<<" "<<num-1<<" "<<A<<"-->"<<C<<endl;
move(num-1,B,A,C);
}
}
int main()
{
char a='A',b='B',c='C';
int num=0;
cin>>num;
move(num,a,b,c);
}