noip2017普及组初赛试题+答案_第1页
noip2017普及组初赛试题+答案_第2页
noip2017普及组初赛试题+答案_第3页
noip2017普及组初赛试题+答案_第4页
noip2017普及组初赛试题+答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第23届全国青少年信息学奥林匹克联赛初赛普及组C+语言试题竞赛时间:2017 年 10 月 14 g 14:30-16:30选手注意:1、试题纸共有8上的一页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸 律无效。2、 不得使用任何电子设备如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20 题,每题1.5分,共计30分;每题有且仅有一个正确选项)1. 在8位二进制补码中,10101011表示的数是十进制下的()。A. 43 B. -85 C. -43 解析:补 d. -84码就是符号位不变,结论:其他各位逐位求反再加一85答案B2. 计算机存储数据的基本单位是

2、()。A. bit B. Byte C. GB D. KB3. 下列协议中与电子邮件无尖的是()。A. POP3 B. SMTP C. WTO D. IMAP4. 分辨率为800x600、16位色的位图,存储图像信息所需的空间为()。C.4320KB D. 2880KB 解析:800*600*16/8=A5. 计算机应用的最早领域是()A. 数值计算B.人工智能C.机器人D.过程控制6. 下列不属于面向对象程序设计语言的是A.C B. C+ C. Java D. C#解析:新出的语言都是面向对象的,OOP的,旧的不是,答案A7. NOI的中文意思是()。A. 中国信息学联赛B. 全国青少年信息

3、学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会解析:全国青少年信息学奥林匹克竞赛答案:B8. 2017年10月1日是星期日,1999 年10月1日是()。A.星期三B.星期日c.星期五D.星期二解析:什么年是闰年?你首先想到的可能是能被4整除的年就是闰年。实际上这是不正确 的,公历里闰年的定义是这种:能被400整除的,或者不能被100整除而能被4整除的年就是闰年,换一句话说, 非世纪年份中能被4整除的,和世纪年份中能被400整除的是闰年。依照这个定义,公元2000年是闰年,而公元 1900年是平年。可是假设再问你,公元100年是不是闰年?这个是世纪年份,而不能被400整除

4、,所以这个年份 是平年,假设你这样想,那你就错了。我们如今用的公历,是格里高里历,是公元1582年以后通行的,之前记录日期用的是儒略历,和如今用的公历不同,儒略历中闰年的定义非常easy的,能被4整除的是闰年,不能被4整除的是平年。所以,公元100 年还处于儒略历时期,所以历史上该年份是闰年。所以闰年的完整定义是:公元1582年前,能被4整除的年份;公元1582年后,世纪年中能被400整除的,和非世纪年中能被4整除的年份。总的来说,闰年的定义是比較复杂,远不是一般人以为的那么简单。这不仅是一个数学问题,还是一个历史问题。2000是闰年,2004,2008 2012,2016年应该者是闰年,共5

5、个,即5个366天,13个非闰年,共13*365+5*366=4745+1830=6575天,6575%7=939 余 2,因 1999 年是向前找,所以是星期五,选C9.甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有()种。A. 36 B. 48 C. 96 D. 192解析:甲有C2/4,即6种、乙、丙每人4种,共6*4*4=96种,答案CG的()条边才能使10.设G是有n个结点、m条边(n aj。那么序列 1,7, 2, 3, 5, 4对数为()个。A. 4 B. 5 C. 6D. 712.表达式a * (b + c) * d的后缀形式是()

6、。A. abcd*+*B. abc+*d*C. a*bc+*dD. b+c*a*d解析:B这个这样分析(a*(b+c)-d) = (a*(b+c),d,- = a,(b+c),*,d,- = a,b,c,+,*,d,-13.向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行()o A. hs-next=s;B. snext=hs;hs=s;C. snext=hs-next;hs-next=s;D. s-next=hs;hs=hs-next;16.对于入栈顺序为a, b, c, d, e,f, g A. a,b,c,d,e,f,gB. a,d,c,b,e,g,fC. a,d,b,c

7、,g,f,e D.g,f,e,d,c,b,a的序列,下列()不可能是合法的出栈序列。14.若串S =A. 72 B. 45copyright,其”子串的个数是()。C.46 D. 3615.十进制小数A.1101.011C.1101.10113.375对应的二进制数是()。B. 1011.011D. 1010.0117.设A和B任僵阴f彖脚陵僧的财嚴秫B合并成一个排好序的数组,()次比较。情况下至少要做A. n2 B. nlognC. 2n D. 2n-118.从 )年开 NOIP竞赛将不再支持Pascal语言。(A. 2020 始C. 2022 D. 202319. 一家四口人,至少两个人生

8、日属于同一月份的概率是()(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)。A. 1/12 B. 1/144 C. 41/96 D. 3/420.以下和计算机领域密切相矢的奖项是()。A.奥 斯卡奖C.诺贝磁图灵奖D.普利策奖1. 一个人站在坐标 第二轮,他向前走 他一直这么走下去。二、问题求解 2题每题5分,共计10分)(0, 0)处,面朝x轴正方向。第一轮,他向前走1单位距离,然后右转;2单位距离,然后右转;第三轮,他向前走3单位距离,然后右转请问第2017轮后,他的坐标是:(1009,1008) o (请在答题纸上用逗号隔开两空答案)2.如图所示,共有13个格子。对任何一个格

9、子进行一次操作,会使得它自己以及与它上下左右相邻 的格子中的数字改变(由1变0,或由0变1)。现在要使得所有的格子中的数字都变为0,至少需要 3次操作。1001010010110三、阅读程序写结果(共4题,每题8分,共计32分)1 #i neludeusing n ames pacestd;int mai n() int t256;string s;inti;cin s;for (i = 0; i 256; i+)圳=0;for (i = 0; i s.le ngth(); i+)tsi+;for (i = 0; i s.le ngth(); i+)if (tsiJ =1)cout si en

10、dl; return 0;cout Fo endl; return 0;输入:xyzxyw输出:_ z2.#inelude using namespacestd;int g(int m, intn, int x) int ans = 0;inti;if (n = 1)return 1;for (i = x; i m n;cout g(m, n, 0) vv endl; return 0;输入:7 3输出:_ 83. #inelude using namespacestd;int main() string ch;int a200;int b200;int n, i, t, res;cin ch

11、;n = chen gth();for (i = 0; i 200; i+) bi = 0;for (i = 1; i 0; i-) if (ai = 0) t+;if (bi - 1 + t n m; int x = 1; int y=1;int dx = 1; int dy = 1;int ent = 0; while (ent != 2) ent = 0;x = x + dx; y = y + dy;if (x = 1 | x = n) +cnt;dx = -dx;if (y = 1 | y = m) +cnt;dy = dy; cout x fH yendl; return 0;输入输

12、出输入输出43_1 3_2017 10142017(3分)(5 分)四、完善程序(共2题,每题14分,共计28分)1 (快速幕)请完善下面的程序,该程序使用分治法求其余3分0 mod m的值。(第一空2分, 输入:三个不超过10000的正整数x,P , m o输岀:xp mod m的值。提示:若P为偶数,xp= (x2) p/2;若p为奇数,xp=x* (x2) (p-1)/2 #in elude using n ames pacestd;int x, p, m, i,result;int mai n() cin x p m;result = 1 ;while (p0 或 p!=0 或 p)

13、if(p % 2 = 1)result= result * x % m;p/=2;x=x * x % m ;cout result en dl; return 0;2.(切割绳子)有n条绳子,每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切 割,但不可以连接。现在要从这些绳子中切割出m条长度相同的绳段,求绳段的最大长度是多少。(第一、二空2.5分,其余3分)输入:第一行是一个不超过100的正整数n,第二行是n个不超过106的正整数,表示每条绳子的长度,第三行是一个不超过108的正整数m。输出:绳段的最大长度,若无法切割,输出 Failed o#in eludeusing n ames pacestd;int n, m, i,lbo und, ubo und, mid,count; int len100; / 绳子长度int mai n() cin n;count = 0;for (i = 0; i v n; i+) cin len i;coun t=co un t+le ni或 count+=leni;cin m; if(mco un t) cout Failed ; return 0;Ibound = 1;ubound =1000000;while (Ibo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论