汉诺塔问题
-将木块借助B柱由A柱移动到C柱
-每次只能移动一个木块
- 只能出现小木块在大木块之上
递归实现
#include <iostream>
using namespace std;
void HanoiTower(int n, char a, char b, char c)
{
if(n == 1)
{
cout << a << "->" << c << endl;
}
else
{
HanoiTower(n-1, a, c, b);
HanoiTower(1, a, b, c);
HanoiTower(n-1, b, a, c);
}
}
int main()
{
HanoiTower(3, 'a', 'b', 'c');
return 0;
}