#include<iostream>
using namespace std;
void move(char a, char b)
{
cout << a<<"----------------->" << b << endl;
}
void hanoi(int n, char a, char b,char c)//将n个盘子由a借助b移动到c
{
if (n == 1)
{
move(a, c);
}
else
{
hanoi(n - 1, a, c, b);
move(a, c);
hanoi(n - 1, b, a, c);
}
}
int main()
{
char a = 'a';
char b = 'b';
char c = 'c';
hanoi(3, a, b, c);
system("pause");
return 0;
}
019.使用递归求解汉诺塔问题
最新推荐文章于 2023-07-30 16:08:25 发布
本文介绍了一个经典的递归算法——汉诺塔问题,并使用C++语言进行实现。通过递归调用的方式,演示了如何将多个盘子从一个柱子移动到另一个柱子的过程。代码中详细展示了move函数和hanoi函数的定义与调用,适用于初学者理解和学习递归算法。
2363

被折叠的 条评论
为什么被折叠?



