CC++ & Algorithm
算法可视化
入门执行逻辑

汉诺塔:递归移动圆盘

把 n 个盘从 A 移到 C,借助 B。规则:一次移一个,大盘不能压小盘。递归:先把 n-1 个移走,再移最大的,再移回来。

main.cpp第 1 行
1// 汉诺塔: 把 n 个盘从 A 移到 C, 借助 B
2void hanoi(int n, char a, char b, char c) {
3 if (n == 1) { cout << a << "->" << c; return; }
4 hanoi(n-1, a, c, b);
5 cout << a << "->" << c;
6 hanoi(n-1, b, a, c);
7}
8// 调用: hanoi(3, 'A', 'B', 'C')
变量表0 个变量
还没有变量,执行到声明语句后出现
汉诺塔(三根柱子, 大盘不能压小盘)
A
B
C
1/10

三根柱子 A、B、C,3 个盘从小到大编号 1、2、3,大盘不能压小盘

1 / 10