全国入门组CSP-J初赛模拟试题(10)[2022年]

姓名
    ____________
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1.甲乙两位工人一起在工厂工作。甲的生产速度是每小时6个鼠标或2个键盘。乙的生产速度是每小时4个鼠标或4个键盘。在一天6小时的工作中,甲乙两人通过合理搭配,最多可以一起生产出()个键鼠套装。
A.21
B.24
C.28
D.27
2.百度公司是一家于2000年创立的互联网公司,其业务范围十分广泛。以下选项中,()不属于百度的业务范围。
A.台式计算机
B.地图
C.搜索引擎
D.移动应用
3.假如数列3,6,12,24...符合固定规律,那么它的下一项最可能是()。
A.48
B.96
C.72
D.27
4.在上网浏览时,可以注意到有些网址以http://开始,有-些则是https://。在这里,后者比前者多出的字母s是()的缩写。
A.second
B.Secure
C.System
D.Speed
5.在一张桌子上放了一定数量的铅笔。甲和乙轮流拿走铅笔,每次可以拿1根或者2根,拿走最后一根铅笔的人获胜。假如甲先取那么在铅笔总数为()根时乙将最终获胜。
A.356
B.525
C.974
D.无法判断
6.将四个数字1,3,5,7经过四则运算(即只使用加、减、乘、除和括号)后,可能得到的最大结果是()。
A.140
B.180
C.120
D.105
7.下列不属于计算机人工智能应用领域的是()。
A.在线订票
B.医疗诊断
C.智能机器人
D.机器翻译
8.从本质上讲,计算机病毒是一种()。
A.细菌
B.文本
C.程序
D.微生物
9.下列叙述中正确的是()。
A.所谓算法就是计算方法
B.程序可以作为算法的一种描述方法
C.算法设计只需考虑得到计算结果
D.算法设计可以忽略算法的运算时间
10.下列结构中为非线性结构的是()
A.树
B.向量
C.二维表
D.矩阵
11.在访问网站时,链接前显示的htp://是一种()。
A.数据类型
B.顶级域名
C.文件格式
D.传输协议
12.一位农夫想用20米的铁栅栏围出一个四边形。无论他怎么尝试,这个四边形是面积最大都不会超过()。
A.25m2
B.21m2
C.32m2
D.16m2
13.一袋水果中有50个香蕉,30个葡萄和40个草毒。一个人每次从袋子中随机抽取一个水果。()次后,他手中肯定至少有10个相同种类的水果。
A.12
B.28
C.13
D.30
14.一位魔术师要将名为酥糖,布丁和曲奇的三只鸽子藏进A,B,C,D四个箱子里。每个箱子都足够大,可以同时放下三只鸽子。那么一共有多少种不同的藏法()。
A.24
B.64
C.48
D.120
15.两位同学在讨论关于全球变暖的问题。小青认为全球变暖是错误的,因为她冬天早上起床时依旧觉得很冷。小蓝则认为全球变暖是确实存在的,原因是过去几十年中地球的平均气温越来越高了。在两个人的讨论中()。
A.小青提出的是观点;小蓝提出的是事实
B.小青小蓝提出的都是事实
C.小青提出的都是事实;小蓝提出的是观点
D.小青小蓝提出的都是观点
二、阅读程序(程序输入不超过数组或字符串定义的范围;除特殊说明外,判断题1.5分,选择题3分,共计40分)
1.阅读以下程序,完成题目:


判断题
1)intgcd(inta,intb)函数是求a,b的最小公倍数。()
A.正确
B.错误
2)x0为最大公约数,y0为最小公倍数。()
A.正确
B.错误
3)x0一定小于等于y0。()
A.正确
B.错误
4)当x0,y0的数据范围在[2,1000000]时,该程序在极端数据情况下会超时。()
A.正确
B.错误
选择题
5)若输入为360,则输出为()。
A.4
B.6
C.8
D.16
2.阅读以下程序,完成题目:


判断题
1)代码中使用的队列queue可以使用一维数组代替。()
A.正确
B.错误
2)若n的值大于100000,则一定会出现溢出。()
A.正确
B.错误
3)该程序中visit[]数组使用做标记数组使用。()
A.正确
B.错误
选择题
4)若输入的数据为517,则输出为()
A.4
B.6
C.7
D.8
5)该程序是利用()算法模板来完成的。
A.深度优先搜索
B.宽度优先搜索
C.记忆化搜索
D.迭代价绍搜索
3.阅读以下程序,完成题目:


判断题
1)题目中的数组a[1010],b[1010]可以定义在主函数外面。()
A.正确
B.错误
2)该程序的时间复杂度为0(n^3)。()
A.正确
B.错误
3)若输入为625则输出为。()
A.4
B.2
C.8
D.1
三、完善程序(单选题,每题3分,共计30分)

1.(密码锁) 乌龟给自己的贵重物品上了密码锁。密码锁上有5个数字拨盘。每个数字拨盘每次向上拨使数字增加1(9向上拨得到0),向下拨使数字减少1(0向下拨得到9)。

 拨盘上的数字组成一个5位数。只要拨盘上的数字变为素数,密码锁就会被解开。素数(又称质数)是只能被1和它自身整除的大于1的自然数。

 因为乌龟动作实在太慢,他希望你帮他计算如何开锁,使得拨动的总次数最少。

输入:

 一个5位数,表示拨盘的初始数字

输出:

 一个5位素数,表示开启密码锁使用的素数(拨动次数最少)。

 如有多组解,输出满足条件的最大数

样例输入:

 01210

样例输出:

 01319


1)⑴处应填()。
A.x%i==0
B.x%i==1
2)⑵处应填()。
A.y%100
B.y%10
C.y/10
D.y/100
3)⑶处应填()。
A.abs(yy[i]-xx[i])
B.yy[i]-xx[i]
C.max(yy[i],xx[i])
D.min(yy[i],xx[i])
4)⑷处应填()。
A.x/=10
B.x%=10
C.x%==10
D.x/=100
5)⑸处应填()。
A.check(i*i)
B.check(i)
C.check(i1)
D.check(i2)
2(字符串替换) 小明最近迷上了字符串操作。对每个字符串,小明每次可以执行以下两种操作之一:

 1.把字符串中的某个字符改成任意一个其他字符,花费1的代价。

 2.交换字符串中的两个字符,花费0的代价。

 小明发现,把一个字符串通过一系列的操作,可以转换成任何一个与之等长的字符串。例如,把“hello”变为“world”的一种代价为3的操作序列如下:

1. hello→wello(替换h为w,代价为1)

 2. wello→wolle(交换e和o,代价为0)

 3. wolle→worle(替换l为r,代价为1)

 4. worle→world(替换e为d,代价为1)

小明发现,无法用少于3次的代价将“hello”变为“world”。

显然,不同的转换方案花费的代价是不同的,请编程帮助小明计算把一个字符串变为另一个字符串的最小代价。

本题中的字符串根据给定的初始数值s按以下规则生成:

 for i=1,2,... n

  s←(s*345) mod 19997

  第一个字符串的第i个字符的ASCII码为(97+(s mod 26))

 for i=1,2,... n

  s←(s*345) mod 19997

  第二个字符串的第i个字符的ASCII码为(97+(s mod 26))

输入:

 正整数n (字符串长度), s (数据生成器的初始数值)。1≤n≤1000, 1≤s≤19997。

输出:

 将第一个字符串转换为第二个字符串的最少代价。

样例输入1

4 35

样例输入2

100 31

样例输出1

2

样例输出2

29

在样例1中,生成的字符串是“lzvv”和“xylv”,将第一个字符串变为第二个的最为2。


1)⑴处应填()。
A.cinns
B.cinsn
C.cinns
D.cinsn
2)⑵处应填()。
A.(s*345)%26
B.(s*345)%19997
C.(s*345)%1997
D.(s*345)%1997
3)⑶处应填()。
A.a[a+s%1997]++
B.a[a+s%26]++
C.a[a+s%26]--
D.--a[a+s%26]
4)⑷处应填()。
A.a
B.b
C.A
D.Z
5)⑸处应填()。
A.min(a[i],b[i])
B.max(a[i],b[i])
C.abs(a[i],b[i])
D.(a[i],b[i])

47题 | 被引用28次

模板修改
使用此模板创建