#include <stdio.h>
int main() {
void hanoi(int, char, char, char);
int n;
printf("请输入汉诺塔的层数:");
scanf("%d", &n);
printf("移动该汉诺塔的顺序为:\n");
hanoi(n, 'A', 'B', 'C');
return 0;
}
void hanoi(int n, char A, char B, char C) {
if (n == 1) {
printf("移动盘%d:%c -> %c\n", n, A, C);
} else {
hanoi(n - 1, A, C, B);
printf("移动盘%d:%c -> %c\n", n, A, C);
hanoi(n - 1, B, A, C);
}
}
汉诺塔(递归法)
最新推荐文章于 2024-12-23 16:43:05 发布