#include "stdio.h"
void hanoi(int n, char a, char b, char c)
{
if(n==1) //如果只剩下一个盘子,则直接从a柱移到c柱
printf("%d %c --> %c\n", n, a, c);
else
{
hanoi(n-1, a, c, b); //借助于c柱,将n-1个盘子从a柱移到b柱
printf("%d %c --> %c\n", n, a, c); //再将第n个盘子从a柱移到c柱
hanoi(n-1, b, a, c); //借助于a柱,将n-1个盘子从b柱移到c柱,至此移动完成
}
}
int main()
{
int n;
scanf("%d", &n);
hanoi(n, 'a', 'b', 'c');
return 0;
}
hanoi塔
最新推荐文章于 2023-05-11 09:55:10 发布