2018NOIP普及组初赛试题

合集下载

2018NOIP普及组初赛试题答案解析

2018NOIP普及组初赛试题答案解析

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

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

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

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1.以下哪一种设备属于输出设备:()A.扫描仪B.键盘C.鼠标D.打印机解析:这是一道送分题,会就会,不会就不会。

所以选D。

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

A.(269)16B.(617)10C.(1151)8D.(1001101011)2解析:这题考核的是进制转换。

(269)16=2*16^2+6*16^1+9*16^0=617,(1151)8=1*8^3+1* 8^2+5*8^1+1*8^0=617,而(1001101011)2=619。

所以选D。

3.1MB等于()。

A.1000字节B.1024字节C.1000X1000字节D.1024X1024字节1KB=1024B1MB=1024KB解析:这题考核的是字节之间的转换。

1MB=1024KB=1024*1024B。

所以选D。

4.广域网的英文缩写是()。

NB.WANC.MAND.LNA解析:这题是送命题,,会就会,不会就不会。

WAN全称为Wide Area Network。

所以选B。

5.中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A.1983B.1984C.1985D.1986解析:这题是送命题,会就会,不会就不会。

NOI是全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics)的简称。

NOI是国内包括港澳在内的省级代表队最高水平的大赛,自1984年至今,在国内包括香港、澳门组织竞赛活动。

所以选B。

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

学科竞赛-2018第24届全国青少年信息学奥林匹克联赛初赛+答案

学科竞赛-2018第24届全国青少年信息学奥林匹克联赛初赛+答案

2018第24届全国青少年信息学奥林匹克联赛初赛+答案第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)C. (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. 19856. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照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. 以下排序算法中,不需要进行关键字比较操作的算法是( )。

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 增加而增大。

noip2018普及组初赛试题c++

noip2018普及组初赛试题c++
________(去了/没去)(1 分),周末________(下雨/ 没下雨)(2 分)。
2. 从 1 到 2018 这 2018 个数中,共有__________个包含数字 8 的数。包含数字 8 的数是
指有某一位是“8”的数, 例如“2018”与“188”。
A.
三 、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
A. 基数排序
B. 冒泡排序
C. 堆排序
D. 直接插入排序
给定一个含 N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至
少需要 N - 1 次比较操作。则最坏情况下,在该数组中同时找最大与最小的数至少需
要( )次比较操作。(⌈ ⌉表示向上取整,⌊ ⌋表示向下取整)
A. ⌈3N / 2⌉ - 2
{
ret++;
___________;
}
return ret;
}
则空格内要填入的语句是( )。
A. x >>= 1
B. x &= x - 1
C. x |= x >> 1
D. x <<= 1
15. 下图中所使用的数据结构是(
)。
B
弹出 B 压 A
入 C
A
C
A
压入 A
压入 B
A
哈希表 B. 栈 C. 队列
1. #include <cstdio>
char
st[100];
int
main()
{
scanf("%s", st);
for
(int i = 0; st[i]; ++i)

NOIP2018第二十四届普及组初赛题目C++和答案

NOIP2018第二十四届普及组初赛题目C++和答案

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

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

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

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

A.(269)16B.(617)10C.(1151)8D.(1001101011)23.1MB 等于()。

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

NB.WANC.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.以下排序算法中,不需要进行关键字比较操作的算法是()。

A.基数排序B.冒泡排序C.堆排序D.直接插入排序9.给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。

NOIP普及组初赛_2006~2018选择题

NOIP普及组初赛_2006~2018选择题

第十二届全国青少年信息学奥林匹克联赛初赛试题(2006 NOIP 普及组C++ 语言二小时完成)一、单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确答案.)。

1. 在下面各世界顶级的奖项中,为计算机科学与技术领域做出杰出贡献的科学家设立的奖项是()。

A. 沃尔夫奖B. 诺贝尔奖C. 菲尔兹奖D. 图灵奖2. 在下列各软件中,不属于NOIP竞赛(复赛)推荐使用的语言环境有()。

A. gcc/g++B. Turbo PascalC. RHIDED. free pascal3. 以下断电之后仍能保存数据的有()。

A. 寄存器B. ROMC. RAMD. 高速缓存4.Linux是一种( )。

A. 绘图软件B. 程序设计语言C. 操作系统D. 网络浏览器5. CPU是( )的简称。

A. 硬盘B. 中央处理器C. 高级程序语言D. 核心寄存器6. 在计算机中,防火墙的作用是()。

A. 防止火灾蔓延B.防止网络攻击C. 防止计算机死机D. 防止使用者误删除数据7. 在下列关于计算机语言的说法中,不正确的是()。

A. Pascal和C都是编译执行的高级语言B. 高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上C. C++是历史上的第一个支持面向对象的计算机语言D. 与汇编语言相比,高级语言程序更容易阅读8. 在下列关于计算机算法的说法中,不正确的是()。

A. 一个正确的算法至少要有一个输入B. 算法的改进,在很大程度上推动了计算机科学与技术的进步C. 判断一个算法的好坏的主要标准是算法的时间复杂性与空间复杂性D. 目前仍然存在许多涉及到国计民生的重大课题,还没有找到能够在计算机上实施的有效算法9. 在下列各种排序算法中,不是以“比较”作为主要操作的算法是()。

A. 选择排序B. 冒泡排序C. 插入排序D. 基数排序10.在编程时(使用任一种高级语言,不一定是C++),如果需要从磁盘文件中输入一个很大的二维数组(例如1000*1000 的double 型数组),按行读(即外层循环是关于行的)与按列读(即外层循环是关于列的)相比,在输入效率上()。

noip初赛试题普及组及答案

noip初赛试题普及组及答案

noip初赛试题普及组及答案一、选择题(每题5分,共20分)1. 在计算机中,用来表示存储容量的基本单位是()。

A. 字节B. 字C. 位D. 字长答案:A2. 下列关于算法复杂度的描述,正确的是()。

A. 算法复杂度与程序代码的长短有关B. 算法复杂度与程序的运行时间有关C. 算法复杂度与程序运行的输入数据有关D. 算法复杂度与程序运行的机器性能有关答案:C3. 在编程中,若要实现一个循环,直到满足某个条件才停止,应使用()。

A. while循环B. for循环C. do-while循环D. switch语句答案:A4. 在C++中,下列哪个关键字用于定义一个类()。

A. structB. classC. interface答案:B二、填空题(每题5分,共20分)1. 在计算机科学中,数据结构通常分为两大类:线性结构和________。

答案:非线性结构2. 一个完整的程序设计语言包括语法规则和________规则。

答案:语义3. 在计算机中,用二进制表示的数值中,最小的非零数是________。

答案:14. 在C++中,用于定义一个私有成员的关键字是________。

答案:private三、编程题(每题30分,共60分)1. 编写一个程序,计算并输出100以内所有偶数的和。

```c++#include <iostream>using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}cout << "Sum of all even numbers within 100 is: " << sumreturn 0;}```2. 编写一个程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。

NOIP普及组初赛及答案Pascal.docx

NOIP普及组初赛及答案Pascal.docx

第十八届全国青少年信息学奥林匹克联赛初赛(普及组Pascal 语言试题)选手注意:试题纸共有 10 页,答题纸共有 2 页,满分 100 分。

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

不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20 题,每题 1.5 分,共计 30 分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。

A .内存B .鼠标C. U 盘D.摄像头2.()是一种先进先出的线性表。

A .栈B .队列C.哈希表(散列表)D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。

A .硅B .铜C.锗D.铝4.十六进制数 9A 在()进制下是 232。

A .四B .八C.十D.十二5.()不属于操作系统。

A . Windows B. DOS C. Photoshop D .NOI Linux6.如果一棵二叉树的中序遍历是BAC ,那么它的先序遍历不可能是()。

A . ABC B. CBA C. ACB D .BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel 、 AMD 等公司。

A .显示器B. CPU C.内存 D .鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少 1 个逆序对,因此序列5,4, 3,2, 1 需要执行()次操作,才能完成冒泡排序。

A . 0B. 5C. 10 D .159. 1946 年诞生于美国宾夕法尼亚大学的ENIAC 属于()计算机。

A .电子管B.晶体管C.集成电路 D .超大规模集成电路10.无论是 TCP/IP 模型还是 OSI 模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。

如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。

A .中国公司的经理与波兰公司的经理交互商业文件B .军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D .体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图( Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。

2018第24届全国青少年信息学奥林匹克联赛初赛+答案

2018第24届全国青少年信息学奥林匹克联赛初赛+答案

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

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

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

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1. 以下哪一种设备属于输出设备:( )A.扫描仪B.键盘C.鼠标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)23. 1MB等于( )。

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

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

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

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

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

B. 冒泡排序C. 堆排序D. 直接插入排序9. 给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。

2018年第二十四届全国青少年信息学奥林匹克联赛初赛普及组含答案WORD重新整理排版

2018年第二十四届全国青少年信息学奥林匹克联赛初赛普及组含答案WORD重新整理排版

第二十四届全国青少年信息学奥林匹克联赛初赛普及组 C++语言试题 14:30~16:30日 10 月 13 竞赛时间:2018 年)重新整理排版(WORD 选手注意:分。

请在答题纸上作答,写在试题纸 100 页,答题纸共有 2 ?试题纸共有页,满分 7上的一律无效。

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

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

)2. 下列四个不同进制的数中,与其它三项数值上不相等的是( A. (269)16 B. (617)10 C. (1151)8 D. (1001101011)2)。

3. 1MB 等于(字节 B. 1024 字节A. 1000× 1024 C. 1000 ×字节 1000 字节 D. 1024)。

4. 广域网的英文缩写是(A. LANB. WANC. MAND. LNA)年创办全国青少年计算机程序设计竞赛。

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

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

h+1 - 1) / (k - 1)A. (kC. k h-1 ) / (k - 1)D. (kh-1 B. k h。

8. 以下排序算法中,不需要进行关键字比较操作的算法是()基数排序A.冒泡排序B.堆排序C.D. 直接插入排序至少需找出其中最大或最小的数,9. 给定一个含 N 个不相同数字的数组,在最坏情况下,)次次比较操作。

2018年第二十四届全国青少年信息学奥林匹克联赛初赛普及组含答案

2018年第二十四届全国青少年信息学奥林匹克联赛初赛普及组含答案

6. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、字母键 A、
字母键 S、字母键 D、字母键 F 的顺序循环按键,即 CapsLock、A、S、D、F、CapsLock、
A、S、D、F、„„,屏幕上输出的第 81 个字符是字母( )。
A. A
B. S
C. D
D. a
CCF NOIP2018 初赛普及组 C++语言试题 第4页 共7页
4. #include <cstdio> int n, d[100]; bool v[100]; int main() {
scanf("%d", &n); for (int i = 0; i < n; ++i) {
scanf("%d", d + i); v[i] = false; } int cnt = 0; for (int i = 0; i < n; ++i) { if (!v[i]) {
10. 下面的故事与( )算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙, 庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚 讲故事„„’” A. 枚举 B. 递归 C. 贪心 D. 分治
11. 由四个没有区别的点构成的简单无向连通图的个数是( )。 A. 6 B. 7 C. 8 D. 9
a[++len] = i;
<= n; ++i)
CCF NOIP2018 初赛普及组 C++语言试题 第5页 共7页

2018年NOIP初赛试题及答案

2018年NOIP初赛试题及答案

2018年NOIP初赛试题及答案
NOIP初赛试题形式
初赛全部为笔试,满分100分,试题由四部分组成
(⼀) 选择题
共20题,每题1.5分。

共计30分。

每题有5个备选答案,前10个题为单选题(即每题有且只有⼀个正确答案,选对得分),后10为不定项选择题(即每题有1⾄5个正确答案,只有全部选对才得分)。

(⼆) 问题求解题
共2题,每题5分,共计10分。

试给出⼀个叙述较为简单的问题,要求学⽣对问题进⾏分析,找到⼀个合适的算法,并推算出问题的解。

考⽣给出的答案与标准答案相同,则得分,否则不得分。

(三) 程序阅读理解题
共4题,每题8分,共计32分。

题⽬给出⼀段程序(不⼀定有关于程序功能的说明),考⽣通过阅读理解该段程序给出程序的输出结果。

输出结果如果跟标准答案⼀致,则得分,否则不得分。

(四) 程序完善题
共2题,每题14分。

共计28分。

题⽬给出⼀段关于程序功能的⽂字说明,然后给出⼀段程序代码,在代码中略去了若⼲个语句或语句的⼀部分,并在这些位置给出空格。

要求考⽣根据程序的功能说明和代码的上下⽂填出被略去的语句。

填对则得分;否则不得分。

2018年NOIP初赛试题
参考答案。

NOIP2018 初赛普及组C++试题及答案

NOIP2018 初赛普及组C++试题及答案

CCF NOIP2018 初赛普及组 C++语言试题 第 5 页,共 7 页
四、完善程序(共 2 题,每题 14 分,共计 28 分) 1. (最大公约数之和)下列程序想要求解整数������的所有约数两两之间最大公约 数的和对10007求余后的值,试补全程序。(第一空 2 分,其余 3 分) 举例来说,4的所有约数是1,2,4。1和2的最大公约数为1;2和4的最大公约 数为2;1和4的最大公约数为1。于是答案为1 + 2 + 1 = 4。 要求 getDivisor 函数的复杂度为������(√������), gcd 函数的复杂度为������(log max(������, ������))。 #include <iostream> using namespace std; const int N = 110000, P = 10007; int n; int a[N], len; int ans; void getDivisor() { len = 0; for (int i = 1; (1) <= n; ++i) if (n % i == 0) { a[++len] = i; if ( (2) != i) a[++len] = n / i; } } int gcd(int a, int b) { if (b == 0) { (3) ; } return gcd(b, (4) ); } int main() { cin >> n; getDivisor(); ans = 0; for (int i = 1; i <= len; ++i) { for (int j = i + 1; j <= len; ++j) { ans = ( (5) ) % P; } } cout << ans << endl; return 0; }

NOIP2018普及组初赛试题c++(2)

NOIP2018普及组初赛试题c++(2)

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

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

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

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

A.(269)16B.(617)10C.(1151)8D.(1001101011)23.1MB 等于()。

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

NB.WANC.MAN5.中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

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.以下排序算法中,不需要进行关键字比较操作的算法是()。

A.基数排序B.冒泡排序C.堆排序D.直接插入排序9.给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。

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

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

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

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

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

A.(269)16B.(617)10C.(1151)8D.(1001101011)23、1MB 等于()。

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

A. LANB. WANC. 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、以下排序算法中,不需要进行关键字比较操作的算法是()。

A. 基数排序B. 冒泡排序C. 堆排序D. 直接插入排序9、给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。

则最坏情况下,在该数组中同时找最大与最小的数至少需要()次比较操作。

(⌈⌉表示向上取整,⌊⌋表示向下取整)A. ⌈3N / 2⌉- 2B. ⌊3N / 2⌋- 2C. 2N - 2D. 2N - 410、下面的故事与()算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’”A. 枚举B. 递归C. 贪心D. 分治11、由四个没有区别的点构成的简单无向连通图的个数是()。

A. 6B. 7C. 8D. 912、设含有10 个元素的集合的全部子集数为S,其中由7 个元素组成的子集数为T,则T / S 的值为()。

A. 5 / 32B. 15 / 128C. 1 / 8D. 21 / 12813、10000 以内,与10000 互质的正整数有()个。

B. 4000C. 6000D. 800014、为了统计一个非负整数的二进制形式中 1 的个数,代码如下:int CountBit(int x){int ret = 0;while (x){ret++;___________;}return ret;}则空格内要填入的语句是( )。

A. x >>= 1B. x &= x - 1C. x |= x >> 1D. x <<= 115、下图中所使用的数据结构是( )。

压入 A 压入 B 弹出 B 压A. 哈希表B. 栈C. 队列D. 二叉树二、问题求解(共 2 题,每题 5 分,共计 10 分)1、甲乙丙丁四人在考虑周末要不要外出郊游。

已知①如果周末下雨,并且乙不去,则甲一定不去;②如果乙去,则丁一定去;③如果丙去,则丁一定不去;④如果丁不去,而且甲不去,则丙一定不去。

如果周末丙去了,则甲________(去了/没去)(1分),乙________(去了/没去)(1 分),丁________(去了/没去)(1分),周末________(下雨/没下雨)(2 分)。

2、从 1到 2018 这 2018 个数中,共有__________个包含数字 8的数。

包含数字8 的数是指有某一位是“8”的数, 例如“2018”与“188”。

三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)1、#include<cstdio> B A AAC Achar st[100];int main(){s canf("%s", st);f or (int i=0; st[i]; ++i){if ('A' <= st[i] && st[i] <= 'Z') st[i] += 1;}p rintf("%s\n", st);r eturn 0;}输入:QuanGuoLianSai输出:_________2、#include <cstdio>int main(){int x;scanf("%d", &x);int res = 0;for (int i = 0; i < x; ++i){if (i * i % x == 1){++res;}}printf("%d", res);return 0;}输入:15输出:_________3、#include <iostream>using namespace std;int n, m;int findans(int n, int m)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;cout << findans(n, m) << endl;return 0;}输入:5 6输出:_________4、#include <cstdio>int n, d[100];bool v[100];int main(){scanf("%d", &n);for (int i = 0; i < n; ++i){scanf("%d", d + i);v[i] = false;}int cnt = 0;for (int i = 0; i < n; ++i){if (!v[i]){for (int j = i; !v[j]; j = d[j]){v[j] = true;}++cnt;}}printf("%d\n", cnt);return 0;输入:10 7 1 4 3 2 5 9 8 0 6输出:_________四、完善程序(共2 题,每题14 分,共计28 分)1、(最大公约数之和)下列程序想要求解整数n的所有约数两两之间最大公约数的和对10007求余后的值,试补全程序。

(第一空2 分,其余3 分)举例来说,4的所有约数是1,2,4。

1和2的最大公约数为1;2和4的最大公约数为2;1和4的最大公约数为1。

于是答案为1 + 2 + 1 = 4。

要求getDivisor 函数的复杂度为O函数的复杂度为O(log max(a, b))。

#include <iostream> usingnamespace std; const int N = 110000,P = 10007;int n; inta[N], len;int ans;void getDivisor() { len = 0;for (int i = 1; (1) <= n; ++i)if (n % i == 0) {a[++len] = i;if ( (2) != i) a[++len] = n / i;}}int gcd(int a, int b){ if (b == 0){ (3) ;}return gcd(b, (4) );} int main(){ cin >> n;getDivisor();ans = 0;for (int i = 1; i <= len; ++i) { for (intj = i + 1; j <= len; ++j) {ans = ( (5) ) % P;}}cout << ans << endl; return 0;}2、对于一个1到n的排列P(即1到n中每一个数在P中出现了恰好一次),令q i为第i个位置之后第一个比P i值更大的位置,如果不存在这样的位置,则q i = n + 1。

举例来说,如果n = 5且P为1 5 4 2 3,则q为2 6 6 5 6。

下列程序读入了排列P,使用双向链表求解了答案。

试补全程序。

(第二空2分,其余3 分)数据范围1 ≤ n ≤ 105。

#include <iostream> usingnamespace std; const int N= 100010;int n; int L[N], R[N],a[N];int main() {cin >> n;for (int i = 1; i <= n; ++i){ int x;cin >> x;for (int i = 1; i <= n; ++i) {L[i] = i - 1;}for (int i = 1; i <= n; ++i) {R[L[a[i]]] =}for (int i = 1; i <= n; ++i)";} cout <<endl;return 0;}。

相关文档
最新文档