递归C和C++一样,就写个C++了。
#include<iostream>
using namespace std;
void move(int n,char a,char b,char c){
if(n<=0) return;
move(n-1,a,c,b);
cout << n << ":"<<a<<"->"<<c <<'\n';
move(n-1,b,a,c);
}
int main(){
int n;
char a, b ,c;
while(cin >> n>> a >> b >> c){
move(n,a,b,c);
}
return 0;
}
这里的move函数看作一个黑盒,作用就是将A柱上的最上面元素移到C柱上去,而B柱就是其中移动中需要借助的工具。
结果:
标签:4147,move,Hanoi,C++,char,汉诺塔 From: https://www.cnblogs.com/llllmz/p/17980487