#include <iostream>
#include <math.h>
using namespace std;
void hanio(int,char,char,char);
void move(char,char);
/*汉诺塔问题
1:c做过度,将a上的n-1个移动到b
2:将a最后一个移动到c
3:a做过度,将b上的n-1个移动到c
*/
void main()
{
int m=0;
cout<<"请输入‘A’盘上面的金盘数目"<<endl;
cin>>m;
hanio(m,'A','B','C');
}
void hanio(int number,char a1,char a2,char a3)
{
if(number==1)
move(a1,a3);
else
{
hanio(number-1,a1,a3,a2);//第一步
move(a1,a3);//第二步
hanio(number-1,a2,a1,a3);//第三步
}
}
void move(char first,char second)
{
cout<<first<<"移动到"<<second<<endl;
}