📄 hanoi 塔问题求解.cpp
字号:
//HANOI 塔问题求解
#include <stdio.h>
void hanoi(int,char,char,char);
void move(char,int,char);
void main()
{
int n;
//char A,B,C;
do
{
printf("请输入圆盘的个数n=\n");
scanf("%d",&n);
}while(n<1);
printf("移动过程如下:\n");
hanoi(n,'A','B','C');
}
int n;
char a,b,c;
void hanoi(int n,char a,char b,char c)
//HANOI 塔问题求解算法//
{
if(n==1) move(a,1,c);//A上的一个盘放到C上//
else{
hanoi(n-1,a,c,b);//把N-1且C与B换位后递归调用HANOI 塔问题求解算法//
move(a,n,c); //函数嵌套调用//
hanoi(n-1,b,a,c);
}
}
void move( char a,int n,char b)
//在控制台上显示移动系列//
{
printf("移动第%d圆盘从%c到%c\n",n,a,b);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -