#include<stdio.h>
static long m=0;
void Move(char A,char C)
{
printf("\n移动顶部盘子从 %c to %c",A, C);m++;
}
void Hanoi(int n,char A,char B,char C)
{
if(n==1) Move(A,C);
else
{
Hanoi(n-1,A,C,B);
Move(A,C);
Hanoi(n-1,B,A,C);
}
}
int main()
{
int n;
printf("请输入盘子个数: ");
scanf("%d",&n);
printf("\n移动步骤如下: \n");
Hanoi(n,'A','B','C');
printf("\n\n移动步骤总数为%d\n:",m);
}