#3516. 乔斯2024 CSP-J 初赛模拟赛(十一)
乔斯2024 CSP-J 初赛模拟赛(十一)
一、单选题(共 15 题,每题 2 分,共计 30 分)
- 已知十进制中的 18 在 X 进制中的表示为 24,则
则这个 X 进制为( )进制。
{{ select(1) }}
- 6
- 7
- 8
- 9
- 根据网址的域名:http://www.jiangsu.gov.cn/,可以判断出该网站是( )类型的网站。
{{ select(2) }}
- 商业
- 军事
- 组织机构
- 政府部门
- 与计算机硬件关系最密切的软件是( )。
{{ select(3) }}
- 编译程序
- 数据库管理程序
- 游戏程序
- 操作系统
4.下列程序执行后 s 的值为( )。
{{ select(4) }}
- 2
- 3
- 4
- 以上都不是
5.将 19 分解成 3 个不重复数字(1~9)之和(不计顺序)的方法有( )种。 {{ select(5) }}
- 3
- 4
- 5
- 6
6.甲、乙、丙三位同学选修课程,在四门课程中,甲选修两门,乙、丙各选修三门,则不同的选修方案有( )种。 {{ select(6) }}
- 36
- 48
- 96
- 192
7.已知某二叉树的先序遍历序列是 ABDCE,中序遍历序列是 BDAEC,则该二叉树的后序遍历为
( )。
{{ select(7) }}
- BDECA
- DBCEA
- DBECA
- BDCEA
8.计算机启动时,可以通过存储在( )中的引导程序引导操作系统。 {{ select(8) }}
- RAM
- ROM
- Cache
- CPU
9.表达式 a+b*c-(d+e)的前缀形式是( )。 {{ select(9) }}
- -+a*bc+de
- -+*abc+de
- abc*+de+-
- abcde*++-
10.小军在家玩开关灯游戏,小军家的灯有三种颜色,分别是白、黄、红。按 1 下白灯亮,按 2 下灯灭,按 3 下黄灯亮,按 4 下灯灭,按 5 下红灯亮,按 6 下灯灭,再按又是白灯亮,依次循环。当按到 49 次和 100 次的灯的状态是( )。
{{ select(10) }}
- 灯灭,灯灭
- 白灯亮,灯灭
- 白灯亮,红灯亮
- 红灯亮,灯灭
11.704 与 2048 的最小公倍数是( )。
{{ select(11) }}
- 45056
- 90112
- 180224
- 22528
12.在( )的情况下,函数 A v B 运算的结果是逻辑“0”。
{{ select(12) }}
- A 和 B 全部是 0
- A 和 B 任一是 0
- A 和 B 任一是 1
- A 和 B 全部是 1
13.小明夫妇请了小刚夫妇和小伟夫妇来他们家玩扑克。这种扑克游戏有一种规则,夫妇两人不能一组,小明和小红一组,小刚的队友是小伟的妻子,琳达的丈夫和小丽一组。那么
这三对夫妇分别为( )。
{{ select(13) }}
- 小明-小丽、小刚-琳达、小伟-小红
- 小明-小丽、小刚-小红、小伟-琳达
- 小明-琳达、小刚-小红、小伟-小丽
- 小明-小红、小刚-小丽、小伟-琳达
14.4 人过桥,每人单独过桥分别需要用时 1 分、2 分、5 分、10 分,过桥需要灯(只有一盏),一次只能 2 人一起过(意味着需要有人送灯回来),过桥时间以用时最多的人为准,则 4 人全部过桥时间最少需要( )分。
{{ select(14) }}
- 15
- 17
- 19
- 21
15.2000 年,华人学者姚期智因为在计算理论(包括伪随机数生成,密码学与通信复杂度)方面的突出成就而荣获( )。
{{ select(15) }}
- 奥斯卡奖
- 图灵奖
- 诺贝尔奖
- 普利策奖
二.阅读程序(判断题1.5分,选择题3分,共计40分)
判断题
1).如果 height 数组中的输入有负数,则程序会出错()
{{ select(16) }}
- √
- ×
2).程序输出的 ans 小于或等于 n ()
{{ select(17) }}
- √
- ×
3)将 12 行“num[j]>=num[i]”改为“num[j]>num[i]”,程序的输出结果不会改变 ()
{{ select(18) }}
- √
- ×
4).将 18 行“num[i]>ans”改为“num[i]>=ans”,程序的输出结果不会改变。 ()
{{ select(19) }}
- √
- ×
单选题
5).若输入的数据为
10
1 1 1 1 1 1 1 1 1 1
则程序的输出结果是( )
{{ select(20) }}
- 1
- 2
- 3
- 4
6).若输入的数据为
10
3 2 5 11 12 7 4 10 15 6 则程序的输出结果是( )
{{ select(21) }}
- 2
- 3
- 4
- 5
判断题
1).程序输入的 n 和 m 不能相等。() {{ select(22) }}
- √
- ×
2).程序输入的 m 不能为 0。() {{ select(23) }}
- √
- ×
3).第 9~19 行的 do……while 循环一共有 2 个出口
() {{ select(24) }}
- √
- ×
4).数组 a 和 b 中的数值都小于或等于 n() {{ select(25) }}
- √
- ×
单选题
5).若输入数据为“11 8”,则输出结果为( )。 {{ select(26) }}
- 0.(375)
- 1.(375)
- 0.375
- 1.375
6)若输入数据为“5 13”,则输出结果为( )。 {{ select(27) }}
- 0.384615
- 0.(384615)
- 0.386514
- 0.(386514)
判断题
1).第 19 行的输入中,如果满足 m=n*(n-1)/2,则 20~22 行的初始化可以省略() {{ select(28) }}
- √
- ×
2).将第 31 行的代码换成“for(i=n;i>=1;i--)”,程序结果不受任何影响。() {{ select(29) }}
- √
- ×
单选题
3).若输入数据为
4 2
1 2 1
3 4 1
则程序输出结果为( )。 {{ select(30) }}
- 1
- 2
- 3
- 4
4).若输入数据为
4 6
1 2 1
2 3 1
3 4 1
4 1 1
1 3 1
2 4 1
则程序输出结果为( )。
{{ select(31) }}
- 1
- 2
- 3
- 4
5).若输入数据为
4 3
1 2 10
2 3 20
3 1 30
则程序输出结果为( )。
{{ select(32) }}
- 10
- 20
- 30
- 50
6).若输入数据为
4 6
1 2 10
2 3 20
3 4 30
4 1 40
1 3 50
2 4 60
则程序输出结果为( )。
{{ select(33) }}
- 60
- 80
- 100
- 150
三、完善程序
(1)(高精度计算)由于计算机运算的数据范围表示有一定限制,如整形 int 表达范围是(-2 31~231-1),unsigned int(无符号整数)是(0~232-1),都约为几十亿,因此在计算位数超过十几位的数时,不能采用现有类型,只能自己编程计算。
高精度计算通用方法:高精度计算时一般采用一个数组存储一个数,数组的一个元素对应于数的一位,将数由低位到高位依次存储在数组下标对应的由低到高的位置上。另外,申请数组大小时,一般考虑了最大的情况,在很多情况下表示有富裕,即高位有很多0,可能造成无效的运算和判断,因此一般利用一个整型数据存储该数的位数。下面的程序是一个高精度整数的加法运算,请补充完整程序。
1).①处应填( )。
{{ select(34) }}
- a.num[i]=c[i]
- a.num[a.len-1]=c[i]
- a.num[i]=c[i]-‘0’
- a.num[a.len-i]=c[i]-‘0’
2).②处应填( )。 {{ select(35) }}
- b.num[i]=d[i]
- b.num[b.len-i]=d[i]
- b.num[i]=d[i]-‘0’
- b.num[b.len-i]=d[i]-‘0’
3).③处应填( )。 {{ select(36) }}
- (a.num[i]+b.num[i])
- (a.num[i]+b.num[i])%10
- (a.num[i]%10+b.num[i]%10)
- (a.num[i]+b.num[i]-10)
4).④处应填( )。 {{ select(37) }}
- w.num[i]
- w.num[i]%10
- w.num[i]/10
- w.num[i]-10
5).⑤处应填( )。 {{ select(38) }}
- w.num[w.len+1]>=0
- w.num[w.len+1]==0
- w.num[w.len+1]>1
- w.num[w.len+1]!=0
2.(马走日)回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求条件时,就“回溯”返回,尝试其他路径。回溯法是一种
选优搜索法,按选优条件向前搜索以达到目标。但当搜索到某一步时,若发现原先选择并不优或达不到目标,则退回一步重新选择,这种走不通就退回去再走的技术称为回溯法,而满足回溯条件的某个状态的点称为回溯点。
马在中国象棋中以日字的形式规则移动。请编写一段程序,给定 r×c 大小的棋盘以及马的初始位置(m,n),要求不能重复经过棋盘上的同一个点,计算马有多少途径可以遍历棋盘上的所有点。
1).①处应填( )。 {{ select(39) }}
- x>=0 && y>=0 && x<r && y<c
- x>=0 || y>=0 || x<r || y<c
- x>=0 || y>=0 && x<r || y<c
- x>=0 && y>=0 || x<r || y<c
2).②处应填( )。 {{ select(40) }}
- check(x+wayr[i],y+wayc[i])
- check(wayr[i],wayc[i])
- !check(x+wayr[i],y+wayc[i])
- !check(wayr[i],wayc[i])’
3).③处应填( )。 {{ select(41) }}
- mark[wayr[i]][wayc[i]]
- mark[x+wayr[i]][y+wayc[i]]
- !mark[wayr[i]][wayc[i]]
- !mark[x+wayr[i]][y+wayc[i]]
4).④处应填( )。
{{ select(42) }}
- tot==r*c-1
- tot==r*c
- cnt==r*c-1
- cnt==r*c
5).⑤处应填( )。
{{ select(43) }}
- wayr[i],wayc[i]
- x+wayr[i],y+wayc[i]
- x-wayr[i],y-wayc[i]
- x-wayr[i],y+wayc[i]