NOIP2018模拟卷(2.0)

合集下载

noip2018普及组初赛试题+答案

noip2018普及组初赛试题+答案

第24届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2 0 18 年10月13日14: 30-1 6:30选手注意:1、试题纸共有7页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上得一律无效。

2、不得使用任何电子设备(如计算器、手机、电子词典等)或査阅任何书籍资料。

一、单项选择题(共1 5题,每题2分,共计3 0分;每题有且仅有一个正确选项)1、以下哪一种设备属于输出设备:()A、扫描仪B、键盘C、鼠标D、打印机2、下列四个不同进制得数中,与其它三项数值上不相等得就是()。

A、(269)16 (注解:2 * l 6 入2 + 6 * 16^ 1 +9 * 1 6八0 = 617)B、(617)10C、(1 15 1)8 (注解:1 * 8入3 + 1 ± 8 ^2 +5 ^8^1+1 * 8^0 = 617)D、(1001101011) 23、1 MB 等于()。

A、100 0字节B、 1 024字节C、 1 000 X 1000 字节D、1024 X 1024 字节4、广域网得英文缩写就是()。

A、LANB、WAN (Wide Area Network)C、MAND、LNA5、中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A、 1 983B、19 8 4C、198 5D、19 8 66、如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F 得顺序循环按键,即Ca psLock. A、S、I)、F、CapsLock. A、S、D、F ................. ,屏幕上输岀得第8 1个字符就是字母()。

A、AB、SC、 DD、a7、根节点深度为0,—棵深度为h得满k( k > 1 )叉树,即除最后一层无任何子节点外, 每一层上得所有结点都有k个子结点得树,共有()个结点。

noip2018普及组初赛试题+答案

noip2018普及组初赛试题+答案
D.直接插入排序
9.给定一个含N个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少 需要N - 1次比较操作。则最坏情况下,在该数组中同时找最大与最小的数至少需要( )次比较操作。( ??表示向上取整,??表示向下取整)
A.?3N / 2 ? - 2
B.?3N / 2 ? - 2
C.2N - 2
A.1983
B.1984
C.1985
D.1986
6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键
A、字母键S、字母键D、字母键F的顺序循环按键, 即CapsLock、A、S、D、F、CapsLock、
A、S、D、F、,屏幕上输出的第81个字符是字母( )。
A.A
A.
哈希表
B.

C.
队列
D.
二叉树
二、
、问题求解(共2题,每题5分,共计
10分)
1.
甲乙丙丁四人在考虑周末要不要外出郊游。
已知1如果周末下雨,并且乙不去,则甲
一定不去;2如果乙去,则丁一定去;3如果丙去,则丁一定不去;4如果丁不去,而且甲 不去,则丙一定不去。 如果周末丙去了, 则甲去了(去了/没去)(1分),乙没去(去了/没去)(1分),丁没去(去了/没去)(1分),周末没下雨(下雨/没下雨)(2分)。
if (n == 0) return m;
if (m == 0) return n%3;
return findans(n - 1, m) - findans(n, m - 1) +findans(n - 1, m - 1);}
int main(){
cin>>n>>m;

noip普及模拟卷2018(重传)

noip普及模拟卷2018(重传)

18noip普及模拟卷(重传)原创率高一:单项选择1.5%*20=30%1.(11100011)2+(9A)16=()10A:351 B:379 C:380 D:381 2.堆排序根据的数据结构为:A:队列B:二叉树C:有向图D:堆栈3.以下文字体现了--算法:计算:214解:原式=(27)2=((23)2*2)2=(((2)2*2)2*2)2=16384A:二分B:递推C:广搜D:递推4.以下语句为定义头文件的是:A:#include<bits/stdc++.h>B:#define fin cinC:using namespace std;D:int a[100],i;5.计算!((0)&&((1%3)||(1*2*3*4*5*6*7*8*9*0))||(3))= A:0 B:1C:2 D:-16.计算机的第三代为:A:大规模集成电路B:晶体管C:电子管D:集成电路7.以下程序段出现编译错误,请指出编译错误的行:int i,j=0;……Acin>>j;……Bfor (i=1;i<=sqrt(j);i++)……Ccout<<i<<‘’;……D8.4EB=A:1024KB B:1024*4MB C:4*10242TB D:4*10003GB9.对于一个空栈,所有入栈操作均以字母表顺序进行。

操作为:进进出进出出进进进进出。

试问下一个出栈字母为:A:D B:F C:H D:I f noip系列比赛有三个数值:初赛成绩,复赛成绩和总分。

将初赛、复赛成绩转化为总分时有一个比例,这个比例是:A:1:1 B:0:1 C:3:7 D:4:611.计算机应用的最早领域是()A. 数值计算B. 人工智能C. 机器人D. 过程控制12.表达式a*(b+c)*d的后缀形式是()A.abcd*+*B.abc+*d*C.a*bc+*dD.b+c*a*d13. 冒泡排序的最坏时间复杂度为:A:O(nlogn) B:O(n) C:O(n2) D:O(logn)14.若串S=“copyright”,其子串的个数是()A. 72B. 45C. 46D. 3615.换行符的ASCII码为:A:1 B:9 C:10 D:3216.c++中等效于repeat……until ……的是:A:for(i=1;i<=……;i++)B:switch ( ) {case ^ :……;……}C:while (……)……D:do{…………} while ……17.以下语言面向过程的是:A:pascal B:汇编语言C:机器语言D:c++ 18.以下定义文件正确的是:A:freopen(”1.in”,’r’,cstin);B:freopen(’1.in’,’r’,stdin);C:freopen(“1.in”,”r”,cstin);D:freopen(“1.in”,”r”,stdin);19.以下语句不能计算a+b的是:A:c=a+b B:c+=a+b;C:for (i=1;i<a+b;i++)c++;D:if (a>b)c=a+b;else c=b+a;20.以下c++版本不支持万能头文件的是:A:Dev c++5.6.1 B:dev c++ 5.9.2 C:dev c++ 6.1.0 D:dev c++ 4.9.9.2二:问题求解5%*2=10%1.0,1,1,2,3,5,8所属的数列的第18项与第19项之和为----------41812.等差数列10 13 16 19 22 25 28 ……310之和为16160三:读程序写结果8%*4=32%1.#include<bits/stdc++.h>using namespace std; int main(){int a=1,b=2;int c=a*b;int d=a*c+b*b;a=a+d+c*2;b=a*(a+b);double e;e=(double)b+2;if (b%3==0)printf("%0.2f",e); else cout<<a;}输出112.#include<bits/stdc++.h> using namespace std; int a,i,n1,n2,n3,x;int zs(int x){for (i=2;i<=sqrt(x);i++)if (x%i==0) return 1;return 0;}int main(){cin>>a;for (n1=2;n1<=a-4;n1++)for (n2=2;n2<=a-4;n2++){n3=a-n1-n2;if (zs(n1)+zs(n2)+zs(n3)!=0)continue;cout<<n1<<' '<<n2<<' '<<n3;return 0;}}输入2009 输出3 3 20033.#include<iostream>#include<cstdio>#include<string>#include<cctype>using namespace std;long long num,a[1001],p,m,n,len,i,ans[2001]; string s;int main(){cin>>n>>s>>m;len=s.length();for (i=1; i<=len; i++)if (isalpha(s[i-1])) a[i]=s[i-1]-55;else if (isdigit(s[i-1])) a[i]=s[i-1]-48;for (i=len,p=1; i>=1; i--,p*=n)num+=a[i]*p;for (len=1;num>0;num/=m,len++)ans[len]=num%m;for (i=len-1;i>=1;i--)if (ans[i]>=10) printf("%c",ans[i]+55);else printf("%c",ans[i]+48);return 0;}输入:16FF2输出111111114. #include<iostream> using namespacestd; int main() {string ch;int a[200];int b[200];int n, i, t, res;cin >> ch;n = ch.length();for (i = 0; i < 200; i++) b[i] = 0;for (i = 1; i <= n; i++) { a[i] = ch[i - 1] - '0';b[i] = b[i - 1] + a[i];}res = b[n];t = 0;for (i = n; i > 0; i--) {if (a[i] == 0)t++;if (b[i - 1] + t < res)res = b[i - 1] + t;}cout << res << endl;return 0;}输入1001101011001101101011110001输出11四:完善程序共28%1.圆周率我们知道,当下较为认可的圆周率π计算公式为π/4=1-1/3+1/5-1/7+1/9-……现根据此公式编辑c++程序,要求计算的圆周率准确度随输入n 增加而增大。

备考2018NOIP普及组初赛真题及详细参考答案

备考2018NOIP普及组初赛真题及详细参考答案

备考2018NOIP普及组初赛真题及详细参考答案第24届全国青少年信息学奥林匹克联赛初赛普及组C++语⾔试题竞赛时间:2018 年 10 ⽉ 13 ⽇ 14:30~16:30选⼿注意:1、试题纸共有 7 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的⼀律⽆效。

2、不得使⽤任何电⼦设备(如计算器、⼿机、电⼦词典等)或查阅任何书籍资料。

⼀、单项选择题(共15题,每题2分,共计30分;每题有且仅有⼀个正确选项)1. 以下哪⼀种设备属于输出设备:( )A.扫描仪B.键盘C.⿏标D.打印机解析:D,其他三项都属于输⼊设备。

扩展:输⼊设备(Input Device )是把数据、指令及某些标志信息等输送到计算机中去。

键盘、⿏标、摄像头、扫描仪、光笔、⼿写输⼊板、游戏杆、语⾳输⼊装置等都属于输⼊设备。

输出设备(Output Device)是把计算或处理的结果或中间结果以⼈能识别的各种形式,如数字、符号、字母等表⽰出来,因此输⼊输出设备起了⼈与机器之间进⾏联系的作⽤。

常见的有显⽰器、打印机、绘图仪、影像输出系统、语⾳输出系统、磁记录设备等。

控制台打字机、光笔、显⽰器等既可作输⼊设备、也可作输出设备。

2. 下列四个不同进制的数中,与其它三项数值上不相等的是( )。

A. (269)16B. (617)10C. (1151)8D. (1001101011)2解析:DA选项:2 * 16^2 + 6 * 16^1 + 9 * 16 ^0 = 617C选项:1 * 8^3 + 1 * 8^2 + 5 * 8^1 + 1 * 8^0 = 617D选项:1*2^9+1*2^6+1*2^5+1*2^3+1*2^1+1^0=621扩展:进制也就是进制位,对于接触过电脑的⼈来说应该都不陌⽣,我们常⽤的进制包括:⼆进制、⼋进制、⼗进制与⼗六进制,它们之间区别在于数运算时是逢⼏进⼀位。

⽐如⼆进制是逢2进⼀位,⼗进制也就是我们常⽤的0-9是逢10进⼀位。

NOIP复赛模拟题2

NOIP复赛模拟题2

NOIP复赛测试题31、神牛果(cow.cpp)【题目描述】在某次膜拜大会上,一些神牛被要求集体膜拜。

这些神牛被奖励每人吃一些神牛果。

但是,每个神牛的肚量不一样。

为了不显得某些人吃得太多,决定两人一组,使得吃得最多的那组吃得尽量少。

(神牛数为偶数)【输入格式】第一行一个整数 n(<=10000) 。

第二行有 n 个正整数,为给定的一列数字,表示每个神牛能吃多少神牛果。

(数字均小于 1000000000)【输出格式】一个正整数,吃的最多的一组神牛吃的个数的最小值。

【输入样例】41 52 8【输出样例】92、序列1(ones.cpp)【题目描述】输入一个不含因子2和5的整数n,计算在十进制下至少多少个连续的1能被n整除。

【输入格式】第一行为正整数t(<10000);接下来t行,每行一个正整数n(≤10000)。

【输出格式】对于每个数据,输出一个整数m,表示至少连续m个1能被n整除。

【输入样例】239901【输出样例】312【样例说明】111能被3整除,而111111111111能被9901整除。

3、过桥问题(bridge.cpp)【问题描述】现在有N辆车要按顺序通过一个单向的小桥,由于小桥太窄,不能有两辆车并排通过,所以在桥上不能超车。

另外,由于小桥建造的时间已经很久,所以只能承受有限的重量,记为MAX(吨),即任意时刻在桥上行驶的车辆的总重量不能超过MAX(吨)。

因此,车辆在过桥的时候必须有管理员控制,将这N辆车按初始的顺序分组,每次让一个组过桥,并且只有在一个组中的所有的车辆全部过桥之后才能让下一组车辆上桥,而每组车的过桥时间由该组中速度最慢的那辆车决定。

现在,给出每辆车的重量和最大速度,编程将这N辆车分组,使得全部车辆通过小桥的时间最短。

【输入格式】第一行有3个数,分别为MAX(吨)、Len(桥的长度,单位:Km)和N(以空格隔开);接下来有N行,每行有两个数,分别表示每辆车的重量Ti(吨)和最大速度Vi(Km/h)。

NOIP复赛模拟练习题

NOIP复赛模拟练习题

NOIP复赛模拟练习题(一)1.埃及分数源文件:egfranc.pas/c/cpp可执行文件:egfranc.exe输入文件:egfranc.in输出文件:egfranc.out古代埃及人喜欢用分子为1的分数,即使是普通的分数他们也喜欢将它转为若干个分子为1的分数的和。

如2/5,他们习惯表示为:1/3+1/15。

现要求你将输入的一个分子不为1的真分数转为若干个分子为1的不同的分数的和,输出要求按分母由小到大的顺序,并且是分母尽可能的小。

输入两个自然数A、B,分别表示分子和分母,输出相应的埃及分数。

样例:egfranc.in2 5egfranc.out2/5=1/3+1/152.N个因子的最小自然数源文件:minnat.pas/c/cpp可执行文件:minnat.exe输入文件:minnat.in输出文件:minnat.out一个自然数总有若干个因子,如6有4个因子:1,2,3,6。

现要求你对于给定的自然数n(1<n<=10000),求出有n个因子的最小自然数。

输入就一个数n,输出有n个因子的最小自然数。

样例:minnat.in15minnat.out1443.数字拆成K份源文件:numkd.pas/c/cpp可执行文件:numkd.exe输入文件:numkd.in输出文件:numkd.out将一个正整数n拆成k个正整数之和,如n=5,k=2时,不同的拆分方法有两种:5=1+4=2+3。

现要求根据给定的n和k,求出可能的不同拆分的数目。

输入就一行两个数,分别表示n和k(1<n<1000,0<k<=n),输出就一个数字,表示不同的拆分方法数目。

样例:numkd.in5 2numkd.out24、好心的出租车司机源文件:taxi.pas/c/cpp可执行文件:taxi.exe输入文件:taxi.in输出文件:taxi.out题目描述一位出租车司机向你抱怨:城市发展太快,公路越来越多,他已经疲于计算行驶路线,于是求助你开发一个自动导航的工具。

noip普及组复赛模拟试题18答案

话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份>.<然后把他们挂在树上,准备摘取。

摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……【输入格式】第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)以下的n行,分别为各个苹果能够到的最大高度。

再接下来的m行,分别为各个陶陶的高度。

高度均不高于300。

当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。

【输出格式】输出仅有一个数,是剩下的陶陶的数量【样例输入】5 5910231678910【样例输出】3【注】RQNOJ原题,但是数据根本不是按照“苹果够到的最大高度”从大到小来摘!是按照苹果输入的顺序!也就是根本不用排序!我就按AC标准写了,正解是两个排序再逐个按照“苹果够到的最大高度”从大到小来摘。

【源程序】Program apple;Vara,b:array[1..2000]of integer;n,m,i,j,tmp,ans:integer;Beginreadln(n,m);for i:=1 to n do readln(a[i]);for i:=1 to m do readln(b[i]);for i:=1 to m-1 dofor j:=i+1 to m doif b[i]<b[j] thenbegin tmp:=b[i];b[i]:=b[j];b[j]:=tmp;end;ans:=m;for i:=1 to n dofor j:=1 to m doif (a[i]>b[j])and(b[j]>0) thenbeginb[j]:=-1;dec(ans);break;end;writeln(ans);End.输入7 691062315678934 输出2输入10 79101262831175610895117输出0某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。

noip2018普及组初赛试题+答案

第24届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018 年10 月13 日14:30~16:30选手注意:1、试题纸共有7 页,答题纸共有2 页,满分100 分。

请在答题纸上作答,写在试题纸上的一律无效。

2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1. 以下哪一种设备属于输出设备:( )A.扫描仪B.键盘C.鼠标D.打印机2. 下列四个不同进制的数中,与其它三项数值上不相等的是( )。

A. (269)16 (注解:2 * 16^2 + 6 * 16^1 + 9 * 16 ^0 = 617)B. (617)10C. (1151)8 (注解:1 * 8^3 + 1 * 8^2 + 5 * 8^1 + 1 * 8^0 = 617)D. (1001101011)23. 1MB等于( )。

A. 1000 字节B. 1024 字节C. 1000 X 1000字节D. 1024 X 1024字节4. 广域网的英文缩写是( )。

A. LANB. WAN (Wide Area Network)C. MAND.LNA5. 中国计算机学会于( )年创办全国青少年计算机程序设计竞赛。

A. 1983B. 1984C. 1985D. 19866. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F 的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、......,屏幕上输出的第81 个字符是字母( )。

A. AB. SC. DD. a7. 根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k个子结点的树,共有( )个结点。

A. (k h+1-1)/(k-1)B. k h-1C. k hD. (k h-1) / (k - 1)8. 以下排序算法中,不需要进行关键字比较操作的算法是( )。

学科竞赛-CCF全国信息学奥林匹克联赛(NOIP2018)普及组复赛试题

CCF全国信息学奥林匹克联赛(NOIP2018)普及组复赛试题CCF全国信息学奥林匹克联赛(NOIP2018)复赛普及组(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统一评测时采用的机器配置为:Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz,内存32GB。

上述时限以此配置为准。

4、只提供Linux格式附加样例文件。

5、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。

1. 标题统计(title.cpp/c/pas)【问题描述】凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。

统计标题字符数时,空格和换行符不计算在内。

【输入格式】输入文件名为title.in。

输入文件只有一行,一个字符串s。

【输出格式】输出文件名为title.out。

输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。

见选手目录下的title/title1.in和title/title1.ans。

【输入输出样例1说明】标题中共有3个字符,这3个字符都是数字字符。

见选手目录下的title/title2.in和title/title2.ans。

【输入输出样例2说明】标题中共有5个字符,包括1个大写英文字母,1个小写英文字母和2个数字字符,还有1个空格。

由于空格不计入结果中,故标题的有效字符数为4个。

【数据规模与约定】规定|s|表示字符串s的长度(即字符串中的字符和空格数)。

对于40%的数据,1≤|s|≤5,保证输入为数字字符及行末换行符。

对于80%的数据,1≤|s|≤5,输入只可能包含大、小写英文字母、数字字符及行末换行符。

对于100%的数据,1≤|s|≤5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。

2018NOIP信息奥赛普及级初赛模拟试卷

2018NOIP 全国信息奥林匹克竞赛模拟试卷、选择题(共20题,每题1.5分,共30分)1.计算机中数据的表示形式是C(A)八进制(B)十进制(C)二进制(D)十六进制2.下列四个不同数制表示的数中,数值最大的是A 。

(A)二进制数11011101 (C)十进制数219 3.Windows9x 操作系统是一个A (A)单用户多任务操作系统 (C)多用户单任务操作系统 4.局域网中的计算机为了相互通信,(A )调制解调器(B )网卡(C )声卡(D )电视卡5 .域名后缀为edu 的主页一般属于_A —。

(A )教育机构(B )军事部门(C )政府部门(D )商业组织6 .数据和程序是以(B )形式存储在磁盘上的。

(A )集合(B )文件(。

目录(D )记录7 .计算机中运算器的作用是(C)A)控制数据的输入/输出B)控制主存与辅存间的数据交换C)完成各种算术运算和逻辑运算D)协调和指挥整个计算机系统的操作8 .目前,制造计算机所用的电子器件是—D —(A )大规模集成电路(B )晶体管(C )集成电路(D )大规模集成电路与超大规模集成电路9 .多媒体计算机是指—C —(A )具有多种外部设备的计算机(B )能与多种电器连接的计算机(C )能处理多种媒体的计算机(D )借助多种媒体操作的计算机10 .二叉树是非线性数据结构,所以___C 。

(A)它不能用顺序存储结构存储;(B)它不能用链式存储结构存储;(C)顺序存储结构和链式存储结构都能存储(D)顺序存储结构和链式存储结构都不能使用11 .计算机能直接执行的指令包括两部分,它们是(A )(A )源操作数与目标操作数(B )操作码与操作数(C )ASCII 码与汉字代码(D )数字与字符12 .若已知一棵二叉树的前序序列是BEFCGDH ,中序序列是FEBGCHD ,则它的后序序列必 是D(A )FEGHDBC (B )EFGHDBC (C )FEGHDCB (D )FEGHDCB13 .计算机系统总线上传送的信号有(B )(A )地址有信号与控制信号(B )数据信号、控制信号与地址信号(C )控制信号与数据信号(D )数据信号与地址信号14 .在长度为n 的顺序存储的线性表中,删除第i 个元素(1W i W n )时,需要从前向后依次前移A 个元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018年第二十三届全国青少年信息学奥林匹克联赛初赛(普及组 c++ 语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●选手注意:试题纸共有 8 页,答题纸共有 2 页,满分 100 分。

请在答题纸上作答,写在试题纸上的一律无效。

不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1、c++中“a=b=c”(a,b,c均为变量或表达式)的作用是:()A、判定a,b,c相等。

B、将a的值给b,c。

C、将c的值给a,b。

D、将b的值给a,c。

2、smalltalk是一种:()A、汇编语言。

B、面向对象的高级语言。

C、面向过程的高级语言。

D、算法。

3、11进制的所有基数是:()A、0,1,2,3,4,5,6,7,8,9,AB、1,2,3,4,5,6,7,8,9,A,BC、1,2,3,4,5,6,7,8,9,10,11D、0,1,2,3,4,5,6,7,8,9,104、以下代码中能实现s=a+b的是:()A、s=a;for (int i=1;i<b;i++) s++;B、s=b;for (int i=0;i<=a;i++) ++s;C、s=0;for (int i=1;i<=a;i++)for (int j=1;j<=b;j++) s++;D、s=a*b+b;for (int i=1;i<b;i++) s-=a;5、FTP协议是:()A:远程登录协议 B:文件传输协议C:电子邮件收发协议 D:快速文件传输协议6、(2^10(此处指乘方))2=()A、10000000000B、1111111111C、1023D、10247、2018的二进制位数为:()A、9B、10C、11D、20188、2TB=()A、10^3GBB、2^10KBC、2^20MBD、10^9B9、高速缓存的英文缩写是:()A、TCP/IPB、CPUC、ROMD、Cache10、以下不属于计算机病毒性质的是:()A、简便性B、寄生性C、潜伏性D、隐蔽性11、满足()的题目,可以使用动态规划。

A、时限较小B、递推式不明显C、数据范围很大D、最优化原理12、当编写c++程序时运算出现的数字超出long long时,以下不推荐使用的解决方法是:()A、使用无符号整型,用另一个变量表示符号B、使用高精度算法C、将数据对一个数求余D、使用双精度实型,最后取整13、以下合法的IPv地址是:()A、10.0.255.0B、192.0.0.0C、1.1.1.256D、0.113.75.214、对数列:9,8,7,4,1,5 进行冒泡排序(升序),需要交换()次。

A、0B、11C、13D、1715、可以使用()来实现cout的场宽输出,包含于()头文件:A、printf,cstdioB、out,cstringC、setw,cstdlibD、long,iostream16、NOIP的意思是:全国青少年信息学奥林匹克()A、竞赛B、联赛C、联赛普及组D、竞赛提高组17、()头文件包含了sort函数,它的意思是“算法”。

A、algorithmB、cmathC、iostreamD、bits/stdc++.h18、c++表达式63^2^2的值是:A、61B、59C、15752961D、6319、利用指针可以构造出(),在使用完后可以立即释放所用空间。

A、线性表B、堆栈C、图D、链表20、stl队列所用头文件是:()A、mapB、queueC、vectorD、iostream二、问题求解(共 2 题,每题 5 分,共计 10 分)1、排列 1 2 3 4 5,所有数字可重复使用,要求2不在5号位上,3不在1号位上,则总方案数为____________。

2、商店:某商店销售各种数量的某种货物。

不论顾客所需的数量多少,该店总是能在第一时间把需要的货物量整理出,原因在于该店预先将所有货物按不同数量装箱,在收到需求时根据数目多少拿出所需的箱子(可能一次拿出多个箱子)。

现要满足数量在100以内的某个订单,试问所需箱子的数量,及各个箱子按货物数量从小到大的顺序所包含的货物数量:______________三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)1、#include<cstdio>using namespace std;int main(){int n,m,s=0;scanf("%d%d",&n,&m);bool visit[200]={0};for(int k=0;k<n;k++){for(int i=0;i<m;i++){if(++s>n)s=1;if(visit[s])i--;}printf("%d ",s);visit[s]=true;}return 0;}输入:10 3输出:__________2、#include<stdio.h>#include<string.h>int n;char a[10000];int main(){scanf("%d%s",&n,a);int l=strlen(a);int i;if(a[0]=='0') printf("0");for(i=0;i<l;i++){if(a[i]=='0') goto A;else if(a[i]>'0' && a[i]<='9')printf("%d*%d^%d",a[i]-'0',n,l-i-1);else if(a[i]>='a' && a[i] <= 'z')printf("%d*%d^%d",a[i]-'a'+10,n,l-i-1); else if(a[i]>='A' && a[i] <= 'Z')printf("%d*%d^%d",a[i]-'A'+10,n,l-i-1); A: if(a[i+1]!='0' && a[i+1]!=0) printf("+"); }return 0;}输入:2 10101输出:__________3、#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){const int MAXN = 20010;int f[MAXN];int v[40];memset(f,0,sizeof(f));memset(v,0,sizeof(v));int n;int m;cin>>n;cin>>m;for(int i=1;i<=m;i++){cin>>v[i];}for(int i=1;i<=m;i++){for(int j=n;j>=v[i];j--){if(f[j]<f[j-v[i]]+v[i]){f[j]=f[j-v[i]]+v[i];}}}cout<<n-f[n];return 0;}输入:24 68 3 12 7 9 7输出:_________4、#include<bits/stdc++.h>using namespace std;int a[101],n,i,m;int function(int x){int left=0;int right=n-1;while(left<=right){int middle=(left+right)/2;if(a[middle]==x)return middle;if(x>=a[middle])left=middle+1;elseright=middle-1;}return -1;}int main(){cin>>n;for (i=1;i<=n;i++) cin>>a[i];sort(a,a+n+1);for (i=n;i>=1;i--) cout<<a[i]<<' ';cin>>m;cout<<function(m);cout<<endl;}(1)输入:1010 5 9 1 7 2 9 0 10 65输出:____________(2)输入:204 23 89 6 0 99 875 95 1 25 78 92 45 26 32 93 96 0 5756输出:_____________四、完善程序(前 11 空,每空 2 分,后 2 空,每空 3 分,共计 28 分)1、(Catalan数列):对于输入的n,输出Catalan数列的第n项。

(1)Catalan公式:ans = f[0]*f[n-1] + f[1]*f[n-2] + ... + f[n-1]*f[0]; #include <cstdio>int n, f[30];int main(){scanf("%d", &n);f[0] = 1,f[1] =(1); (2分)for(int i=2; i<=n; i++)for(int j=0;(2); j++) (2分)f[i] += f[j] * f[(3)]; (3分)printf("%d", f[n]);return 0;}(2)Catalan(n)=C(2n,n)/(n+1)=>2n!/n!/n!/n+1=>π(n+2<=i<=2n,i)/n!#include<cstdio>int main(){int n,i;long long ans=1;scanf("%d",&n);for((4);i++) (3分)ans=ans*(5); (3分)printf("%lld",ans/(n+1));return 0;}2、归并排序:归并排序是一种稳定的O(nlogn)算法,该算法的主要思想是将原数列分成2份,分别归并排序,再将两数列合并,是二分算法的基本体现。

相关文档
最新文档