void plate(char x,char y,char z,int n)
{
   if(n==1)
printf("从%c 移动一个盘子 到%c\n",x,z);
   else
   {  /*从x 借助 y 移动n个盘子到z */
plate(x,z,y,n-1); /*从x 借助z 移动n-1个盘子到y，结果x剩一个，z空*/
plate(x,y,z,1);   /* 从x 移动一个盘子到z，x空*/
plate(y,x,z,n-1); /*从y 借助x 移动n-1个盘子到z*/
   }
}
main()
{
plate('A','B','C',3);
}
