#include <iostream>
using namespace std;
void hanoi(int num, char a, char b, char c, int* all);
void move(char x, char y, int* all);
int main(void) {
int number, all = 0;
cout << "请输入移盘数:";
cin >> number;
hanoi(number, 'A', 'B', 'C', &all);
cout << "共需" << all << "步。\n";
return 0;
}
void hanoi(int num, char a, char b, char c, int* all) {
if (num == 1) {
move(a, c, all);
} else {
hanoi(num - 1, a, c, b, all);
move(a, c, all);
hanoi(num - 1, b, a, c, all);
}
}
void move(char x, char y, int* all) {
cout << x << "-->" << y << "\n";
*all += 1;
}
汉诺塔c++解析
最新推荐文章于 2024-07-12 01:22:50 发布