基于C语言使用递归算法给出一段代码解决汉诺塔问题
时间: 2023-03-15 09:05:54 浏览: 156
用函数递归来解决汉诺塔问题(C语言实现)
#include <stdio.h>void hannuota(int n, char x, char y, char z) {
if (n == 1)
printf("%c-->%c\n",x,z);
else {
hannuota(n-1, x, z, y);
printf("%c-->%c\n",x,z);
hannuota(n-1, y, x, z);
}
}int main() {
int n;
printf("请输入汉诺塔的层数:\n");
scanf("%d",&n);
hannuota(n, 'X', 'Y', 'Z');
return 0;
}这段代码可以用递归算法解决汉诺塔问题,它能够将汉诺塔上的盘子从一个塔(X)移动到另一个塔(Z),中间可以使用另一个塔(Y)作为辅助。
阅读全文