#include "stdio.h"
{
if(1==n)
printf("将第%d个盘子从柱子%c移动到柱子%c\n",n,A,C);
else
{
fun(n-1,A,C,B);
printf("将第%d个盘子从柱子%c移动到柱子%c\n",n,A,C);
fun(n-1,B,A,C);
}
}
void main()
{
int n;
printf("请输入汉诺塔的个数:");
scanf("%d",&n);
fun(n,'A','B','C');
}
运行结果(vc6.0)
请输入汉诺塔的个数:3
将第1个盘子从柱子A移动到柱子C
将第2个盘子从柱子A移动到柱子B
将第1个盘子从柱子C移动到柱子B
将第3个盘子从柱子A移动到柱子C
将第1个盘子从柱子B移动到柱子A
将第2个盘子从柱子B移动到柱子C
将第1个盘子从柱子A移动到柱子C
Press any key to continue