代码示例
#include <stdio.h>
void Move(int n, char a, char b)//将第b个盘子从a柱移动到b柱
{
printf("move No.%d from %c to %c\n", n, a, b);
}
void Hanoi(int n, char a, char b, char c)//将n个盘子,借助c从a移动到b
{
if(n == 1)
Move(n, a, b);
else
{
Hanoi(n-1, a, c, b);//先将n-1个盘子借助b从a移动到c
Move(n, a, b);//将第n个盘子从a移到b
Hanoi(n-1, c,a, b);//将n-1个盘子借助a从c移动到b
}
}
int main()
{
Hanoi(10, 'A', 'B', 'C');
}