#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;
}