版权声明:欢迎转载并请注明出处,谢谢~~ https://blog.csdn.net/chimomo/article/details/7716681
/*
* Created by Chimomo
*/
#include <iostream>
using namespace std;
void print(char A, char C) {
cout << A << " --> " << C << endl;
}
void hanoi(int n, char A, char B, char C) {
if (n == 1) {
print(A, C);
} else {
hanoi(n - 1, A, C, B);
print(A, C);
hanoi(n - 1, B, A, C);
}
}
int main() {
int n;
cout << "Please input the number of plates in pile A:";
cin >> n;
hanoi(n, 'A', 'B', 'C');
return 0;
}
// Output:
/*
Please input the number of plates in pile A:6
6
A --> B
A --> C
B --> C
A --> B
C --> A
C --> B
A --> B
A --> C
B --> C
B --> A
C --> A
B --> C
A --> B
A --> C
B --> C
A --> B
C --> A
C --> B
A --> B
C --> A
B --> C
B --> A
C --> A
C --> B
A --> B
A --> C
B --> C
A --> B
C --> A
C --> B
A --> B
A --> C
B --> C
B --> A
C --> A
B --> C
A --> B
A --> C
B --> C
B --> A
C --> A
C --> B
A --> B
C --> A
B --> C
B --> A
C --> A
B --> C
A --> B
A --> C
B --> C
A --> B
C --> A
C --> B
A --> B
A --> C
B --> C
B --> A
C --> A
B --> C
A --> B
A --> C
B --> C
*/