#include <stdio.h >
void hanoi(int n,char A ,char B ,char C)
{
if(n==1)
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
else
{ //先将A柱子上的n-1个盘子从借助C移到B
hanoi(n-1,A,C,B);
//直接将A柱子上的盘子从A移到C
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
// 最后将B柱子上的n-1个盘子借助A移到C
hanoi(n-1,B,A,C);
}
}
int main()
{
char ch1='A',ch2='B',ch3='C';
int n;
printf("input n:");
while(scanf("%d",&n)!=EOF)
{
printf("============\n");
hanoi(n,'A','B','C');
printf("input n:");
}
return 0;
}
void hanoi(int n,char A ,char B ,char C)
{
if(n==1)
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
else
{ //先将A柱子上的n-1个盘子从借助C移到B
hanoi(n-1,A,C,B);
//直接将A柱子上的盘子从A移到C
printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C);
// 最后将B柱子上的n-1个盘子借助A移到C
hanoi(n-1,B,A,C);
}
}
int main()
{
char ch1='A',ch2='B',ch3='C';
int n;
printf("input n:");
while(scanf("%d",&n)!=EOF)
{
printf("============\n");
hanoi(n,'A','B','C');
printf("input n:");
}
return 0;
}