#include <stdio.h>
void Hanoi(int n,char X,char Y,char Z)
{
if(n == 1)
{
printf("%c -> %c\n",X,Z);
}
else
{
Hanoi(n-1,X,Z,Y); //将X(63个)借助Z转移到Y上
printf("%c -> %c\n",X,Z); //将X(64个)移动到Z上
Hanoi(n-1,Y,X,Z); //将Y(63个)移动到Z上
}
}
int main()
{
int a;
printf("X--Y--Z\n");
printf("请输入汉诺塔的层数:");
scanf("%d",&a);
Hanoi(a,'X','Y','Z');
}
C语言 实现汉诺塔攻略
最新推荐文章于 2024-04-28 19:21:17 发布
本文介绍了一个使用C语言解决汉诺塔问题的递归算法。通过具体代码示例展示了如何将不同数量的盘子从一个柱子移动到另一个柱子的过程,并详细解释了递归调用的逻辑。
1059

被折叠的 条评论
为什么被折叠?



