有ABC三个座,将A上的n个盘子移动到C上,要保证大的盘子始终在下面,而且一次只能移动一个盘子,可以借助B,输出移动步骤。
#include<iostream>
using namespace std;
void Hanoi(int n,char a,char b,char c)
{
if(n==1)
cout<<a<<"-->"<<c<<endl;
else {
Hanoi(n-1,a,c,b);
cout<<a<<"-->"<<c<<endl;
Hanoi(n-1,b,a,c);
}
}
int main()
{
int num;
cin>>num;
Hanoi(num,'A','B','C');
return 0;
}