#include<stdio.h> //汉诺塔问题
void move(int x, int y)
{
printf("%c->%c\n", x, y);
}
void hanoi(int n, char a, char b, char c)
{
if (n == 1)
{
move(a, c);
}
else
{
hanoi(n -1, a, c, b);//将A座第n-1个盘子借助C座移动至B座
move(a, c);//将A座最后一个盘子移动至C座
hanoi(n - 1, b, a, c);//将B盘第n-1个盘子借助A座移动至C盘
}
}
int main()
{
int n;
printf("请输入要移动的盘子数:\n");
scanf_s("%d", &n);
hanoi(n, 'A', 'B', 'C');
return 0;
}