2023-07-23 12:41:26
发布于:香港
#include <iostream>
using namespace std;
void hanoi(int n, char A, char C, char B) { //A为源组 C为目标组 B为辅助组
if (n == 1) { // 总数为1时 直接移到目标组(递归边界)
cout << A << " --" << n << "--> " << C << endl; // 格式输出
} else {
hanoi(n - 1, A, B, C); // 当n>1时 保留底层(1层) 将n-1~1层全部移至辅助组
cout << A << " --" << n << "--> " << C << endl; // 移动底层至目标组
hanoi(n - 1, B, C, A); // 将辅助组的层数移至目标组(递归)
}
}
int main() {
int n;
cin >> n;
char A = 'A'; // 组命名
char B = 'B';
char C = 'C';
hanoi(n, A, C, B);
return 0;
}
这里空空如也
有帮助,赞一个