汉诺塔问题
作者:
RecSys
,
2021-04-19 08:09:59
,
所有人可见
,
阅读 462
#include<iostream>
using namespace std;
void move(char src,char dest)
//把src针的最上面盘子移动到dest针上
{
cout<<src<<"-->"<<dest<<endl;
}
//把n个盘子从src针移动到dest针 ,以medium针为中介
void hanoi(int n,char src,char medium,char dest)
{
if(n==1) move(src,dest);
else
{
hanoi(n-1,src,dest,medium);
move(src,dest);
hanoi(n-1,medium,src,dest);
}
}
int main()
{
int m;
cout<<"Enter the number of disks: ";
cin>>m;
cout<<"the steps to move"<<m<<"disks:"<<endl;
hanoi(m,'A','B','C');
return 0;
}