/* *Tower of Hanoi* */
#include <iostream>
using namespace std;
void move(char s, char d) {
cout<<s<<"-->"<<d<<endl;
}
/* s is source tower, d is target tower
m is middle tower, n id the number of diskes */
void hanoi(int n, char s, char m, char d) {
if (n == 1)
move(s, d);
else {
hanoi(n-1, s, d, m );
move(s, d);
hanoi(n-1, m, s, d);
}
}
int main() {
int m;
cout<<"Enter the number of diskes: ";
cin>>m;
cout<<"the steps to moving "<<m<<"diskes:"<<endl;
hanoi(m, 'A', 'B', 'C');
return 0;
}
Tower of Hanoi (递归的神奇之力--化繁为简)
最新推荐文章于 2023-01-16 21:41:00 发布