📄 k1.cpp
字号:
///////////////////////////////////////////
// Hanoi塔 by blueagle //
///////////////////////////////////////////
#include <iostream.h>
void MoveDisks(int n,char A,char B,char C)
//把A盘上n个盘通过B盘移到C
{
if(n>0)
{
MoveDisks(n-1,A,C,B);//把A盘上n-1个盘通过C盘移到B
cout<<A<<"-->"<<C<<endl;
MoveDisks(n-1,B,A,C);//把B盘上n-1个盘通过A盘移到C
}
}
void main()
{
int m=-1,n;
char a='A';
char b='B';
char c='C';
while(m<0)
{
cout<<"请输入塔的高度:";
cin>>n;
if(n<1)
cout<<"输入错误"<<endl;
else
m=1;
}
MoveDisks(n,a,b,c);
}
/*1.借助C,将A上的最上面的n-1个盘子按规定移到B
2.将A上的最底层的一个盘子移到C;
3.借助A,将B上的n-1个盘子按规定移到C
这是一个递归的过程,很经典的一个问题*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -