汉诺塔问题C++递归算法实现
汉诺塔游戏的解法可以通过递归算法来实现,支持任意多个盘子。以下是C++代码示例:
#include
using namespace std;
void hanoi(int n, char from, char to, char aux) {
if (n == 1) {
cout << "Move disk 1 from " << from>> n;
hanoi(n, 'A', 'C', 'B');
return 0;
}
解法说明:
1. 当盘子数量为1时,直接将其从源柱子移动到目标柱子。
2. 否则,先将上面的n-1个盘子移动到辅助柱子,再将第n个盘子移到目标柱子,最后将n-1个盘子从辅助柱子移到目标柱子。
该程序通过递归方法解决汉诺塔问题,可以根据需要输入不同数量的盘子。
696B
文件大小:
评论区