大湾区信息学创新大赛模拟题
一、单项选择题(15题共30分)
1.计算机的运算速度取决于给定的时间内,它的处理器所能处理的数据量。处理器一次能处理的数据量叫字长。已知64位奔腾处理器一次能处理64个信息,相当于( A )字节。
A. 8个 B. 1个 C. 16个 D. 2个
2.用某种排序方法对数列{25,84,21,47,15,27}进行排序,数列变化如下。
{15,84,21,47,25,27}
{15,21,84,47,25,27}
{15,21,25,47,84,27}
那么排序方法是( B )
3.小明家突然断电了,以下仍能保存数据的是:(A )
A:rom B:ram C:高速缓存 D:寄存器
4.现有一张分辨率为 2048×1024 像素的 32 位真彩色图像。请问要存储这张图像,需要多大的存储空间?(C )。
A. 16MB
B. 4MB
C. 8MB
D. 2MB
5.—副纸牌除掉大小王有 52张牌,四种花色,每种花色 13 张。
假设从这 52 张牌中随机抽取 13 张纸牌,则至少(A)张牌的花色一致。
A. 4
B. 2
C. 3
D. 5
6.二进制数 1011 转换成十进制数是( A)。
A. 11
B. 10
C. 13
D. 12
7.运行以下代码片段的行为是( D )
int x = 101;
int y = 201;
int *p = &x;
int *q = &y;
p = q;
A、将x的值赋为201 B、将 y 的值赋为 101
C、将 q 指向 x 的地址 D、将 p 指向 y 的地址
8.由1,1,2,2,3这五个数字组成不同的三位数有( A )种
A、18 B、15
C、12 D、24
9.以下和计算机领域最密切相关的奖项是(B )。
A. 菲尔兹奖
B. 图灵奖
C. 诺贝尔奖
D. 普利策奖
10.目前主流计算机储存数据采用(A )进行储存。
A.二进制 B.十进制 C.八进制 D.十六进制
11.定义n!=1*2*3*....*n,则100!的末尾0的个数为(B)
A、23 B、24
C、25 D、26
12. 已知定义 int a[][3] = {1, 2, 3, 4, 5, 6, 7, 8}; 则以下哪个选项结果为10。( A )
提示:a[][3]意思是二维数组,列数为3,行数不固定,把数据按顺序添上,缺的位置补0
A. a[0][1] + a[2][1]
B. a[1][0] + a[2][1]
C. a[1][1] + a[2][1]
D. a[1][1] + a[2][2]
13.已经f[i]=f[i-1]+f[i-2]*2(i>=2),f[0]=f[1]=1,则f[6]=(B)
A、21 B、43
C、85 D、41
14.某个非负整数的二进制、十进制、十六进制的表示均一致,则这个数是(D)
A、1 B、0
C、无数多个 D、1和0
15.电线上停着两种鸟(A、B),可以看出两只相邻的鸟将电线分为了一个线段,这些线段可分为两类:一类是两端的小鸟相同;另一类是两端的小鸟不相同。已知:电线上两个顶点处正好停着相同的小鸟。则两端为不同小鸟的线段数目一定是( B )
A. 奇数 B. 偶数 C. 可奇可偶 D. 数目不定
二、阅读程序题(4大题共40分)
(1)
16.输入的字符串只能由小写字母或大写字母组成, 否则程序运行时会发生错误。( × )
17.若将第8行的“i=1”改为“i=0”,程序运行时会发生错误。 ( √ )
18.若将第9行的“st[i-1]”改为“st[i]”,程序运行结果不会改变。 ( × )
19.若输入的字符串为“abc123ABC”,那么输入的字符串跟输出的字符串相比,有( A )个字符不同。
A. 3
B. 6
C. 9
D. 0
20.若输入的字符串为(D ),输出的字符串和输入的字符串相同
A.“abc123”
B.“aBc123”
C.“ABc123”
D.“ABC123”
(2)
假设输入的正整数n的值不超过2*10^6,请回答以下问题:
21.若输入的n的值为10,则输出结果为4。 ( √ )
22.若输入的n的值为20,则输出结果为7。 ( × )
23.若vis[n]的值为0,则说明n是质数。 ( × )
24.为了提升程序效率,可以将第11行的“int j=2”改为“int j=i” ( × )
25.对该程序的复杂度估算最准确的是(D)
A.O(n) B.(n*n) C.(n*logn) D.(n*log(logn))
(3)
假设输入的正整数n的值不超过50000, 0 <= a[i]<= 1000000000,请回答以下问题:
26.根据数据范围,第3行的long long可以改为int。 ( × )
27.在同一组数据下,第12行的a[i]==a[i-1]可以改为a[i]==a[i+1],结果不变 ( × )
28.第16行与第17行互换,会影响输出结果 ( √ )
29.最后输出的ans值有可能为0 ( √ )
30.若输入的n为10,10个数分别为8 5 7 4 0 7 1 3 0 9,结果为(D)
A.0 B.1 C.2 D.3
(4)
31.第3行定义的变量n与第4行定义的变量n意义相同。 ( × )
32.把第3行定义变量的语句移动到第11行,不影响程序执行。 ( √ )
33.不考虑其他因素,把第4行的int fac改成 long long fac,此程序就能正确算出n为50时的结果。 ( √ )
34.此程序的时间复杂度是( D )
A. O(n) B. O(n^2) C. O(n*logn) D. O(2^n)
35.若输入10,输出结果是( C )
A.1 B.55 C.89 D.144
三、完善程序题(6题共60分)
(回文数)回文数指的是一个数字,从左到右读和从右到左读都一样。例如,1221和 1234321 是回文数,1234 不是回文数。现有 n 个正整数 ai(i=0,1,2,3,.....n-1),请找出其中最大的回文数。
36.①处应填( A )
A.%lld B. %d C. %c D. %f
37.②处应填( C )
A.x=0 B. s1=0 C. s=0 D. ans=0
38.③处应填( C )
A.s1*10 B. s%10 C. s1*10+s%10 D. s1*10*s%10
39.④处应填( B )
A.x/=10 B. s/=10 C. x%=10 D. s%=10
40.⑤处应填( D )
A.s B. x C. min(x,ans) D. max(x,ans)
(幸运数字)假设幸运数字是7。现在小明和小华手上各有n个数,他们想每人从中选择一个数,然后把两个数相加,所得的和如果能被7整除,则小明和小华觉得自己是幸运的。求小明和小华觉得自己是幸运的选择方案数。
41. ①处应填(A )
A. 0 B. 1 C. n D. n+1
42. ②处应填( C)
A. a[i]=t B. a[t]++ C. a[t%7]++ D. a[t%10]++
43. ③处应填( B)
A. i=0;i<=6;i++
B. i=1;i<=6;i++
C. i=0;i<=n;i++
D. i=1;i<=n;i++
44. ④处应填(D )
A. b[0] B. b[i] C. b[n-i] D. b[7-i]
45. ⑤处应填(A )
A. a[0]*b[0] B. a[0]+b[0] C. a[7]*b[7] D. a[n]*b[n]
(质因数)从小到大打印正整数 n 以内的所有质因数(既是质数,又是n的因数的数)
46. ①处应填( A)
A. n % i == 0 B. n % i == 1 C. n % (i-1) == 0 D. n % (i-1) == 1
47. ②处应填( A)
A. i % fac[j] == 0
B. fac[j] % i == 0
C.i % fac[j] != 0
D. fac[j] % i != 0
48. ③处应填( A)
A. false B. true C. (i <= fac[j]) D. (i == fac[j])
49. ④处应填(C )
A. n % i == 0 B. i <=t C. isprime D. !isprime
50. ⑤处应填( B)
A. n / fac[k]
B. fac[k]
C. fac[k]-1
D. n / (fac[k]-1)
(风景点)给出 N 行 M 列的二维格子, 每个格子要么是‘ #’ ,要么是‘ .’ 。 一个格子是“ 风景点” ,它同时满足如下两个条件:1、 该格子是‘ .’;2、 该格子的上、 下、 左、 右, 四个方向整条线全部都是‘ .’(该点处于边缘的话可以忽略该点没有的方向,如点在左边缘只需考虑上、下、右三个方向) 。你的任务是统计总共有多少个“ 风景点” 。
51. ①处应填(C )
A. int B. long long C. char D. string
52. ②处应填( A)
A. a[i][j]=='.' B. a[i][j]=='#' C. a[i][j]==1 D. a[i][j]==0
53. ③处应填( D)
A. i B. j C. n D. m
54. ④处应填(A )
A. a[i][k] B. a[j][k] C. a[k][i] D. a[k][j]
55. ⑤处应填( C)
A. a[i][j]=='.' B. a[i][j]=='#' C. book==true D. book==false
(连续区间)现有n个整数,每个整数用ai表示(1<=ai<=n)。现希望找出连续的一段区间,要求区间内不能出现重复数字。求符合要求的区间的最大长度。
56. ①处应填( D)
A. L=0, R=0 B. L=0, R=1 C. L=1, R=0 D. L=1, R=1
57. ②处应填( B)
A. L++ B. R++ C. L++,R++ D. 不填
58. ③处应填(A )
A. b[a[R]]++ B. a[R]++ C. b[a[L]]++ D. a[L]++
59. ④处应填( B)
A. a[R]>1 B. b[a[R]]>1 C. a[L]>1 D. b[a[L]]>1
60. ⑤处应填(D )
A. b[a[R]] B. b[a[L]] C. R-L D. R-L+1
(看电视)给出n个节目的时间表,每个节目用两个整数si和ei表示第i个节目的开始和结束时间。节目间存在时间重叠的情况,问最多可以完整看完多少个节目?
61. ①处应填( C)
A. true B. false C. a.e 62. ②处应填( A) A. a[1].e B. a[1].s C. 0 D. 1 63. ③处应填( B) A. 1 B. 2 C. k D. k+1 64. ④处应填(B ) A. a[i].s>k B. a[i].s>=k C. a[i].e>k D. a[i].e>=k 65. ⑤处应填( C) A. ans+=a[i].s B. ans+=a[i].e C. ans++ D. k++,ans++