汉诺塔
2025-03-09 22:18:23
发布于:广东
12阅读
0回复
0点赞
#include <iostream>
using namespace std;
void hanoi(int n, char a,char b,char c){
if(n == 1){ //只剩下一个盘子时,直接从源柱a移动到目标柱b
cout << a << "->" << n << "->" << b << endl;
return;
}
hanoi(n-1, a, c, b); //先把n-1个盘子从a移动到c借助b
cout << a << "->" << n << "->" << b << endl; //把第n个盘子从a移到b
hanoi(n-1, c, b, a); //最后再把n-1个盘子从c移到b借助a
}
int main()
{
int n;
char a, b, c;
cin >> n >> a >> b >> c;
if(n < 10){
hanoi(n, a, b, c);
}else{
return 0;
}
return 0;
}
这里空空如也
有帮助,赞一个