汉诺塔问题#include <iostream>
using namespace std;
void Hanoi(int n, char src, char mid, char dest )
//将src上的盘子以mid为中转移动到dest
{
if (n == 1){
cout << src << "-->" << dest <<endl;
return;
}
//如果只有一个盘子,那么直接从src移动到dest即可
Hanoi(n-1, src, dest, mid); //先将n-1个盘子从src移动到mid,以dest为中转
cout << src << "-->" << dest <<endl; //再将最大的一个盘子从src直接移动到dest
Hanoi(n-1, mid, src, dest); //最后将n-1个盘子从mid移动到dest,以src为中转
}
int main(){
int n;
cin >> n;
Hanoi(n, 'A', 'B', 'C');
return 0;
}