C++信息学竞赛初赛笔试试题(2023年北京海淀区)

目录

一、选择题

二、阅读程序

三、程序完善


一、选择题

第1题 正整数319和377的最大公约数是()

A.27

B.33

C.29

D.31

第2题 与十进制数1770对应的八进制数是()

A  3350

B. 3351

C.3352

D.3450

第3题 十六进制数2070和八进制数34求和的结果是()

A 用十进制数表示的结果为8332

B.用十六进制数表示的结果为208A

C.用二进制数表示的结果为100000000110

D.用八进制数表示的结果为20212

第4题 在C++语言中,按位或运算符(0)是指参加运算的两个数,按二进制位进行"或"运算,若两个数对应位上有一个为1、则该位上或运算的结果为1,否则为 0。异或运算符(^)是指参加运算的两个数,按二进制位进行“异或"运算,若 两个数对应位值不同,则该位结果异或运算的结果为1,否则为0。请计算表达式(2312)^5的值是()。

A. 18

B.1

C.23

D.32

第5题 在C++语言中,三种逻辑运算符运算(注意这里不是按位运算)规则如下:

判断a等于0或b等于0或c等于0的正确的条件表达式是(   )

A. !((a!=0)((b!=0)

B.!((a!=0)&&(b!=0)&&(c!=0))

C.!(a==0&&b==0)ll(c!=0)

D.(a=0)&&(b=0)&&(c=0)

第6题 如果字符串s在字符串T中出现了,则字符串s被称作字符串T的子串。设字符串T="Olympic",T的非空子串的数目是()。

A.28

B.29

C. 16

D.17

第7题 将数组{8,23,4,16,77,-5,53,100}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,量少需要交换()次

A 4

B. 5

C. 6

D.7

第8题 书架上有21本书,编号从1到21、从其中选4本,其中每两本的编号都不相邻的选法一共有()种。

A 1530

B.3020

C.3060

D.4096

第9题 队列快照问题:队列快照是指在某一时刻队列中的元素组成的有序序列。例如, 当元素1,2,3入队,元素1出队后,此刻的队列快照是2,3。当元素2,3也出队后, 队列快照是“,即为空。现有3个正整数元素依次入队、出队。已知它们的和为8, 则共有()种可能的不同的队列快照(不同队列的相同快照只计一次)。例 如,“5,1"、“4,2,2"、“都是可能的队列快照;而"7"不是可能的队列快照,因为 剩下的2个正整数的和不可能是1。

A 36

B.42

C.49

D.58

第10题 定义字符串的基本操作为:删除一个字符、插入一个字符和将一个字符修改成另外一个字符这三种操作。将字符串A变成字符串乙的最少操作步数,称为字符串A到字符串B的编辑距离。字符串“ABCDEFG”到字符串“BADECG”的编辑距离为( )

A. 3

B. 4

C. 6

D. 7

第11题 在数组A[X]中,若存在(i<j)&& (A[i]>A[j]) ,则称(A[i],A[j])为数组A[X]的一个逆序对。对于序列7,5,1,9,3,6,8,4,在不改变顺序的情况下,去掉(   )会使逆序对的个数减少3。

B. 5

C. 3

D. 8

第 12题 定义一种字符串操作,一次可以将其中一个元素移到任意位置。举例说明,对于字符串BCA可以将“A”移到“B”之前,变字符串“ABC”。如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要(   )次操作。

A. 3

B. 4

C. 5

D. 6

第13题 原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符"AAABBBCCC"共有

( )个不同的非空子串。

A. 3

B. 12

C. 36

D. 45

第14题  如图,每条边上的数字表示该边的长度,则从A到E的最短距离是()。

A.10

B.11

C.12

D.13

第 15 题 重新排列 1234 使得每一个数字都不在原来的位置上,一共有( )种排法。

A.7

B.9

C.24

D.44

第16题 在某大型国际比赛期间,主办单位为了欢迎来自冬国的选手,举行了盛大的晚宴。在第十八,有5名大陆选手和 5名港澳选手共同进膳。为了增进交流。他们决定相隔就坐,即每个大陆选手左右旁都是港澳选手,每个港澳选手左右旁都是大陆选手。那么,这一桌一共有()种不同的就坐方案。注意:如果在两个方案中,每个选手左边相邻的选手均相同,则视为同一个方案。

A. 1200

B. 2480

C. 2880

D. 14400

第 17 题 在不超过 10000 的正整数中,与10000互质的正整数有()个。

A 2000

B.4000

C.6000

D.8000

第 18 题 一个 1x8 的方格图形(不可旋转) 用黑、白两种颜色填涂每个方格。如果每个方格只能填涂一种颜色,且不允许两个黑格相邻,共有 (   ) 种填涂方案。

A. 55

B. 68

C. 72

D. 82

第 19 题 一个人站在坐标(0,0) 处,面朝x轴正方向。第一轮,他向前走1单位距离,然后右转;第二轮,他向前走 2 单位距离,然后右转;第三轮,他向前走 3单位距离,然后右转.....他一直这么走下去。请问第 2017 轮后,它的坐标是: (_,_)。

A. 1009,1008

B. 1009,1010

C. 1008,1009

D. 1008,1008

第 20 题 在1和2015之间 (包括1和2015 在内) 不能被 4.5,6三个数任意一个数整除的数有( )个。

A 100

B. 1050

C.1075

D.1080

第 21题 地面上有标号为A、B、C的三根柱,在 A柱上放有 10 个直径相同中间有孔的圆盘,从上到下依次编号为 1,2,3...,将A柱上的部分盘子经过 B 柱移入 C柱,也可以在 B 柱上暂存。如果 B 柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。那么,在 C柱上,从下到上的编号为( )

A. 243657

B. 241257

C. 243176

D. 243675

第 22题 有五副不同颜色的手套(共 10 只手套,每副手套左右手各 1只),一次性从中取6只手套,请问恰好配成两副手套的不同取法有()种。

A 120

B. 180

C. 150

D.30

第23题 由 1,1,2,2,3 这五个数字组成不同的三位数有(   )种。

A 18

B. 15

C.12

D.24

第24题  小明希望选到形如“省A.LLDDD“的车牌号。车牌号在“.”之前的内容固定的5位号码中,前2位必须是大写英文字母,后3位必须是阿拉伯数字 (L代表车牌里的大写字母(有字母排除在外),D表示0至9数字,两个L和三个D之间可能相同也可能不同)。请问总共有 (   )个可供选择的车牌

A. 20280

B. 52000

C. 576000

D. 1757600

第 25题 假设有 n根柱子,需要按照以下规则依次放置编号为 1,2,3.…的圆环:每根柱子的底部周定,顶部可以放入圆环每次从柱子顶部放入圆环时,需要保证任何两个相邻圆环的编号之和是一个完全平方数。请计算当有 4 根柱子时,最多可以放置()个圆环

A. 7

B. 9

C. 11

D. 5

二、阅读程序

第26-30题 组合题

阅读下面的程序,完成第(26) 到第(30) 道小题、每道小题 2 分。

第 26题 判断题:如果 h 数组中的输入有负数,则程序会出错。
A. 正确
B. 错误


第 27题 判断题:程序输出的 ans 小于或等于 n。
A. 正确
B. 错误


第 28题 判断题:将第 13 行“a[i]> = a[j]”改为“a[j]>a[i]”输出结果不会改变。
A. 正确
B. 错误


第 29 题 单选题:若输入的数据为: 10
                                                        1 111111111
则程序的输出结果是()
A. 1
B. 2
C. 3
D. 4


第30 题 单选题:若输入的数据为: 10

                             3 2 5 11 12 7 4 10 15 6

程序的输出结果是 (   )

A. 2
B. 3
C. 4
D. 5

第 31-34 题    组合题
阅读下面的程序,完成第(31)到第(34)道小题。

第 27 题 判断题:当m>0时,输出的值一定小于 2n。

A.正确

B.错误

第 28 题 判断题:执行完第 24 行的 ans++ 时,ans 一定是偶数。

A. 正确

B. 错误

第 29 题 判断题:a[i]和 b[i] 不可能同时大于 0。

A. 正确

B. 错误

第 30题 单选题:若m个x两两不同,且m 个两两不同,则输出的值为

A.2n-2m

B.2n+2

C.2n-2

D.2n

三、程序完善

第 35-39 题    组合题

质因数分解:给定一个正整数 n,输出将 n 质因数分解的结果,结果从小到大输出。例如:当 n = 120时程序应该输出 2 2 2 3 5,表示:120 = 2 × 2 × 2 × 3 × 5。输入保证 2 ≤ n ≤ 10^9。提示:先从小到大枚举变量i,然后用 i 不停试除 n 来寻找所有的质因子。

试补全程序。

第35题 单选题:空缺①处应该填(   )

A.1

B.n-1

C.2

D.0

第36题 单选题:空缺②处应该填(   )

A.n/i

B.n/(i*i)

C.i*i

D.i*i*i

第37题 单选题:空缺③处应该填(   )

A.if(n%i==0)

B.if(i*i<=n)

C.while(n%i==0)

D.while(i*i<=n)

第38题 单选题:空缺④处应该填(   )

A.n>1

B.n<=1

C.i<n/i

D.i+i<=n

第39题 单选题:空缺⑤处应该填(   )

A.2

B.n/i

C.n

D.i
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值