[递归] 汉诺塔 - C语言
程序员文章站
2022-05-08 23:09:44
...
#include<stdio.h>
//将n个盘子从x借助y移动到z
void move(int n,char x,char y,char z) {
if (1==n)
printf("%c-->%c\n",x,z);
else {
move(n-1,x,z,y); //将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;
}
上一篇: 问题D:杯子(运用了二进制)
下一篇: 找2个出现奇数次的数