用c语言写一个汉诺塔问题求解
时间: 2023-05-15 12:06:51 浏览: 146
C语言汉诺塔问题
好的,以下是用 C 语言写的汉诺塔问题求解代码:
```c
#include <stdio.h>
void hanoi(int n, char A, char B, char C) {
if (n == 1) {
printf("Move disk 1 from %c to %c\n", A, C);
return;
}
hanoi(n - 1, A, C, B);
printf("Move disk %d from %c to %c\n", n, A, C);
hanoi(n - 1, B, A, C);
}
int main() {
int n;
printf("Enter the number of disks: ");
scanf("%d", &n);
hanoi(n, 'A', 'B', 'C');
return 0;
}
```
这个程序可以解决汉诺塔问题,其中 n 表示盘子的数量,A、B、C 分别表示三个柱子的名称。程序会输出每一步的移动过程,以及最终的解法。
阅读全文