万卷网 > 题目详情
题型:组合题

完善程序(2)

(汉诺塔问题)给定三根柱子,分别标记为 A、B 和 C。初始状态下,柱子A上有若干个圆盘,这些圆盘从上到下按从小到大的顺序排列。任务是将这些圆盘全部移到柱子c上,且必须保持原有顺序不变。在移动过程中,需要遵守以不规则:

1.只能从一根柱子的顶部取出圆盘,并将其放入另一根柱子的顶部。

2.每次只能移动一个圆盘

3.小圆盘必须始终在大圆盘之上。

试补全程序

#include <bits/stdc++.h>
using namespace std;
void move(char src, char tgt) {
cout << "从柱子" << src << "挪到柱子上" << tgt << endl;
}
void dfs(int i, char src, char tmp, char tgt) {
if(i == ___(1)___) {
move(___(2)___);
return;
}
dfs(i-1, ___(3)___);
move(src, tgt);
dfs(___(4)___, ___(5)___);
}
int main() {
int n;
cin >> n;
dfs(n, 'A', 'B', 'C');
}


(1).

⑤处应填( )

A.

0

B.

1

C.

i-1

D.

i

(2).

②处应填( )

A.

src,tmp

B.

src,tgt

C.

tmp,tgt

D.

tgt,tmp

(3).

①处应填( )

A.

0

B.

1

C.

2

D.

3

(4).

④处应填( )

A.

src, tmp, tgt

B.

tmp, src, tgt

C.

src, tgt, tmp

D.

tgt, src, tmp

(5).

③处应填( )

A.

src, tmp, tgt

B.

src, tgt, tmp

C.

tgt, tmp, src

D.

tgt, src, tmp

更新时间:2025-01-17 12:20:19 |
【知识点】 CCF非专业级别软件能力认证CSP-J/入门级

相似题推荐

简答题

T4多边形


2026-04-17
简答题

T3异或和


2026-04-17
简答题

T2座位


2026-04-16
简答题

T1拼数

2026-04-16
单选题

假设a、b、c都是布尔变量,逻辑表达式(a &&b)IⅡ(!c &&a)的值与下列哪个表达式不始终相等?()

A.

a &&(bⅡ!c)

B.

(al|!c)&&(bⅡ !c)&&(all a)

C.

a &&(!b II c)

D.

!(!a|!b)II(a &&!c)

2025-10-16
公众号
客服 反馈
顶部