#include <iostream>
using namespace std;
void move(char sor, char des)
{
cout << sor << "->" << des << endl;
}
void han(int m, char sor, char med, char des)
{
if (m == 1)
move(sor, des);
else
{
han(m - 1, sor, des, med); //这部分是重点
move(sor, des);
han(m - 1, med, sor, des);
}
}
int main()
{
int m;
char sor = 'A';
char med = 'B';
char des = 'C';
cout << "The number of dishes:";
cin >> m; //建议取值小一点(10以下吧)
han(m, sor, med, des);
return 0;
}
输出结果(m 取 3):