第20851题 单选
C++递归实现汉诺塔的代码横线处应填入的正确代码是?

印度古老的汉诺塔传说:创世时有三根金刚柱,其中一柱从下往上按照大小顺序摞着64片黄金圆盘,当圆盘逐一从一柱借助另外一柱全部移动到另外一柱时,宇宙毁灭。移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。实现代码如下:

#include <iostream>
using namespace std;
// 递归实现汉诺塔,将N个圆盘从A通过B移动C
// 圆盘从底到顶,半径必须从大到小
void Hanoi(string A, string B, string C, int N) {
    if (N == 1) {
        cout << A << " -> " << C << endl;
    } else {
        Hanoi(A, C, B, N - 1);
        cout << A << " -> " << C << endl;
        __________; // 此处填写代码
    }
}
int main() {
    Hanoi("甲", "乙", "丙", 3);
    return 0;
}
A

Hanoi(B, C, A, N - 2)

B

Hanoi(B, A, C, N - 1)

C

Hanoi(A, B, C, N - 2)

D

Hanoi(C, B, A, N - 1)