📄 hanoi.cpp
字号:
#include "iostream.h"
int counter=0; //用于统计操作的步骤数
void move(char one,char two){
cout<<"\t"<<one<<"-->"<<two<<endl;
counter++;
}
void Hanoi(int n,char one,char two,char three){ //汉诺塔问题的递归实现
if(n==1) move(one,three);
else{
Hanoi(n-1,one,three,two);
move(one,three);
Hanoi(n-1,two,three,one);
}
}
void main()
{
int n;
char one,two,three;
cout<<"此为汉诺塔的简单实现,设三个支架依次为 A,B,C\n";
cout<<" 请输入盘子的个数 n : "<<endl;
cin>>n;
one='A';
two='B';
three='C';
cout<<"移动的步骤为:\n";
Hanoi(n,one,two,three);
cout<<"总的操作步骤为: "<<counter<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -