一、单选题
1、若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2 的值是:( )
A.0.000000 B.2.750000 C.2.500000 D.3.500000
送分题。
x+a%3*(int)(x+y)%2
=2.5+(7%3)*int(2.5+4.7)%2
=2.5+1*int(7.2)%2
=2.5+1*7%2
=2.5+1
=3.5
数值为3.5,由于类型是float,所以有效位数为7位,因此答案选择3.500000(D)。
这道题在之前的noip初赛中出到过,但那时候的答案是选择2.500000的,这道题变动了一下数值,幸好我再算了一遍,如果看都不看直接选C的话必死无疑了。
2、下列属于图像文件格式的有( )
A.WMV B.MPEG C.JPEG D.AVI
送分题+1
很明显应该选择C,这题属于常识吧。
WMV、MPEG、AVI:都是视频文件格式
3、二进制数 11 1011 1001 0111 和 01 0110 1110 1011 进行逻辑或运算的结果是( )。
A.11 1111 1101 1111 B.11 1111 1111 1101
C.10 1111 1111 1111 D.11 1111 1111 1111
送分题+2
逻辑或运算:即按位或。对于二进制的每一位,都是0才为0。
11 1011 1001 0111
01 0110 1110 1011
————————
11 1111 1111 1111
所以很明显选择D。
4、编译器的功能是( )
A.将源程序重新组合
B.将一种语言(通常是高级语言)翻译成另一种语言(通常是低级语言)
C.将低级语言翻译成高级语言
D.将一种编程语言翻译成自然语言
常识题
这道题也算是送分题吧,but我没拿到这两分...
做的时候看到D选项就立马选了,我以为自然语言就是一串二进制命令(机器语言),结果走出考场才知道,自然语言是人们所说的语言,比如说中文、英语就是自然语言。所以很明显D就是错的了。
答案是B,这种知识点也不考察能力,就是平时的死记+积累。
5、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )
A.x=(x*100+0.5)/100.0; B.(int)(x*100+0.5)/100.0;
C.x=(x/100+0.5)*100.0; D.x=x*100+0.5/100
基础题
连续两道极其简单的单选题错了我也是难过死了。
看到B的那一刻我就把它排除了,因为我觉得B算出来的答案是一个整型。忽略了/100.0部分...
最后听同机房的人说,只有B才可以舍去小数点第三位以后的数值,其他的选项都无法将后面的小数位数舍去。
由此,B正确。
6、由数字1,1,2,4,8,8所组成的不同的4位数的个数是( )。
A.104 B.102 C.98 D.100
数学题
排列组合题。个人认为是送分题,因为以往的noip初赛卷有一道一模一样的(反正我做到过)。
分类:
选四个不同的数:1、2、4、8:A(4,4)=24
选三个不同的数:x、x、y、z
x:1或8(2)
y、z:C(2,3)=3
一共有6种选择数的方案。
先在4个位置里挑选2个放x:C(2.4)=6
再在剩下两个位置里放x、y的全排列:A(2,2)=2
所以:2*3*6*2=72
选两个不同的数:1、1、8、8
在4个位置里挑两个位置给1,剩下两个位置给8:C(2,4)=6
ans=24+72+6=102(B)
分类分对基本上没什么问题。
7、排序的算法很多,若按排序的稳定性和不稳定性分类,则( )是不稳定排序。
A.冒泡排序 B.直接插入排序 C.快速排序 D.归并排序
常识题+送分题
众所周知,插冒归是稳定的排序算法。若有不懂请看下图:
8、G是一个非连通无向图(没有重边和自环),共有28条边,则该图至少有( )个顶点。
A.10 B.9 C.11 D.8
基础题
这道题有一个坑人的点:非连通!!!这张图不连通!!!
接着我们就想,共有28条边的连通图至少有几个顶点?
不难发现,8个顶点的完全图刚好有8*7/2=28条边,再加一个孤立点不就成非连通图了嘛。
所以选B哦,同机房错的人都选D。
9、一些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9,9颠倒过来看还是6,其他数字颠倒过来都不构成数字。类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901.假设某个城市的车牌只有5位数字,每一位都可以取0到9.请问这个城市有多少个车牌倒过来恰好还是原来的车牌,并且车牌上的五位数能被3整除?( )
A.40 B.25 C.30 D.20
这道题,列出所有情况就好了。当时我做的时候就是吧所有的车牌都写了一遍,结果数了数刚好25个,直接选B。
0:00000(1)
0、1:01110、10101(2)
0、8:08880、80808(2)
0、6、9:06090、09060、90006、60009、96096、69069、99066、66099(8)
0、1、8:18081、81018(2)
1、6、9:16191、19161、91116、61119(4)
8、6、9:86898、89868、98886、68889(4)
1、8:88188、11811(2)
ans=1+2+2+8+2+4+4+2=25(B)
10、一次期末考试,某班有15人数学得满分,有12人语文得满分,并且有4人语、数都是满分,那么这个班只收有一门得满分的同学有多少人?( )。
A.23 B.21 C.20 D.22
数学题,容斥原理没谁了。
不多说,ans=15+12-4=23(A)
11、设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法,在最坏情况下至少要做多少次比较?( )。
A.n^2 B.n log n C.2n D.2n-1
常识题
只要比较能进行到两个序列的最后一个数即可。
每次比较排好一个数,最后一次比较直接排好两个数。
所以最多的比较次数为2n-1(D)
12、以下哪个结构可以用来存储图( )
A.栈 B.二叉树 C.队列 D.邻接矩阵
只要学习过图论的人都知道。
存储图最常见的两种方法是:邻接矩阵(D)、邻接表。
13、以下哪些算法不属于贪心算法?( )
A.Dijkstra算法 B.Floyd算法 C.Prim算法 D.Kruskal算法
常识题,具体详见各类最短路及最小生成数的算法流程。
Floyd算法属于动态规划。(B)
14、有一个等比数列,共有奇数项,其中第一项和最后一项分别是2和118098,中间一项是486,请问以下哪个数是可能的公比?( )
A.5 B.3 C.4 D.2
数学题。
486/2=243
118098/486=243
所以公比为243的因子。
243=3*3*3(B)。
15、有正实数构成的数字三角形排列形式如图所示。第一行的数为a1,1;第二行的数从左到右依次为a2,1, a2,2,第n行的数为an,1, an,2, …,an,n。从 a1,1开始,每一行的数ai,j只有两条边可以分别通向下一行的两个数ai+1,j 和ai+1,j+1。用动态规划算法找出一条从a1,1向下通到an,1,an,2,…,an,n中某个数的路径,使得该路径上的数之和达到最大。令C[i][j]是从a1,1到 ai,j的路径上的数的最大和,并且C[i][0]=C[0][j]=0,则C[i][j]=( )。
A.max{C[i-1][j-1], C[i-1][j]} + ai,j
B.C[i-1][j-1] + C[i-1][j]
C.max{C[i-1][j-1], C[i-1][j]} + 1
D.max{C[i][j-1],C[i-1][j]} + ai,j
这是动态规划的入门题啊朋友们,在以往noip初赛卷里有一道一模一样的,连答案都没有变过呐。
这道题就是数字三角形题目的状态转移方程,明显选A。
- 对完单选题答案的时候就已经欲哭无泪了,简直难受,这都是些什么低智商错误啊。哭唧唧.jpg
阅读程序及程序填空下次再更。