汉诺塔

1 #include
 2
 3 using namespace std;
 4
 5 void Hanoi(int n, char A, char B, char C) {
 6     //把n个盘子从A通过B移动到C
 7     if (n == 1) {
 8         //递归出口,一个盘子直接移动
 9         cout << "Move" << A << "to" << C << endl;
10     }
11     else {
12         Hanoi(n - 1, A, C, B);//将上面的n-1个盘子移动到B针上
13         cout << "Move" << A << "To" << C <//最后一个移动到C针
14         Hanoi(n - 1, B, A, C);//将B针上的n-1个盘子到C上
15     }
16 }
17
18 int main() {
19     char A = 'A', B = 'B', C = 'C';
20     Hanoi(3, A, B, C);
21 }

Original: https://www.cnblogs.com/JIAcheerful/p/16153241.html
Author: 云霄雨霁
Title: 汉诺塔

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622108/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球