//汉诺塔
#include<stdio.h>
#include<stdlib.h>
int n = 0;
void Hanio(int num, char a, char b, char c)
{
if (num == 1)// 当n==1的时候,只需要直接将圆盘从起始柱子移至目标柱子即可.
printf("第%d步:%c---->%c\n", ++n,a, c);
else
{
Hanio(num - 1, a,c,b); //递归处理
printf("第%d步:%c---->%c\n", ++n,a,c);
Hanio(num - 1,b,a,c);
}
}
int main()
{
int num;
printf("请输入圆盘的个数:");
scanf("%d", &num);
printf("----------------------------------\n");
Hanio(num, 'A', 'B', 'C');
printf("----------------------------------\n");
system("pause");
return 0;
}
汉诺塔的思考
最新推荐文章于 2023-02-15 12:03:50 发布