#include "stdafx.h"
#include <iostream>
using namespace std;
void move(int n, char x, char y, char z);
void main()
{
int n;
cout << "请输入汉诺塔层数:";
cin >> n;
move(4,'x','y','z');
system("pause");
}
//目标是把x上的n个盘子借助y移到z上去
void move(int n,char x,char y,char z)
{
if (n == 1)
cout << x<<"--->"<<z << endl;
else
{
move(n - 1, x, z, y);//将n-1个盘子从x借助z移到y上
cout << x << "--->" << z << endl;
move(n - 1, y, x ,z);//将n-1个盘子从y借助x移到z上
}
}