/*
汉诺塔
*/
#include<iostream>
using namespace std;
void hanoi(char a,char b,char c,int n)//底座a经过b把n个盘子放在c上
{
if (n==2)
{
cout << a << "->" << b << endl;
cout << a << "->" << c << endl;
cout << b << "->" << c << endl;
}
else
{
hanoi(a, c, b, n - 1);
cout << a << "->" << c << endl;
hanoi(b,a,c,n-1);
}
}
int main()
{
char a, b, c;
int n;
cout << "请输入底座代号和盘子数量:" << endl;
cin >> a >> b >> c >> n;
hanoi(a, b, c, n);
return 0;
}
递归函数:汉诺塔问题,C++实现
最新推荐文章于 2024-07-25 17:57:45 发布