#include <stdio.h>
void hanoi(int n, char x, char y, char z);//将n个圆盘从x移到z,y做辅助塔
void move(char x, int n, char z);//打印移动方法
int main()
{
hanoi(5, 'x', 'y', 'z');
return 0;
}
void hanoi(int n, char x, char y, char z)
{
if(n == 1)
move(x, 1, z);
else
{
hanoi(n-1, x, z, y);
move(x, n, z);
hanoi(n-1, y, x, z);
}
}
void move(char x, int n, char z)
{
printf("%d:%c-->%c\n", n, x, z);
}
递归实现汉诺塔问题
最新推荐文章于 2023-08-15 20:59:18 发布