1996-c-六
#include <stdio.h>
//汉诺塔移动,递归算法
//将n个盘子从 x 借助 y 移动到 z
void move (int n,char x,char y,char z){
if (n==1)
printf("%c-->%c\n",x,z);
else
{
move (n-1,x,z,y);
printf("%c-->%c\n",x,z);
move(n-1,y,x,z);
}
}
int main(){
int n;
printf("请输入汉诺塔的层数:");
scanf("%d",&n);
printf("移动步骤如下:\n");
move(n,'X','Y','Z');
return 0;
}