第一范文网 - 专业文章范例文档资料分享平台

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)

来源:用户分享 时间:2025/11/28 11:23:13 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第二十四届全国青少年信息学奥林区克联赛初赛

普及组

一、单项选择题

1、以下哪一种设备属于输出设备:() A 扫描仪 B 键盘 C 鼠标 D 打印机

2、下列四个不同进制的数中,与其他三项数值上不相等的是() A (269)_{16}(269)16 B (617)_{10}(617)10 C (1151)_{8}(1151)8

D (1001101011)_{2}(1001101011)2 3、11MB等于()

A 10001000字节 B 10241024字节

C 1000*10001000?1000字节 D 1024*10241024?1024字节 4、广域网的英文缩写是() A LAN B WAN C MAN D LNA

5、中国计算机协会于()年创办全国青少年计算机程序设计竞赛。 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 B. S C.D D.a

7、根节点深度为0,一棵深度为h的满K叉树,即除最后一层无任何子节点外,每一层上所有节点都有k个子节点的树,共有()个节点。 A (k^{h+1}-1)/(k-1)(kh+1?1)/(k?1) B k^{h-1}kh?1 C k^hkh

D (k^{h-1})/(k-1)(kh?1)/(k?1)

8、以下排序算法中,不需要进行关键字比较操作的算法是()。 A 基数排序 B 冒泡排序 C 堆排序

D 直接插入排序

9、给定一个含N个不相同数字的数组,在最坏情况下,找出期中最大或最小的树,至少需要N-1此操作。则最坏情况下,在该数组中同时找最大与最小的数至少需要()次操作。(\\lceil\\rceil??表示向上取整,\\lfloor\\rfloor??表示向下取整) A \\lceil3N/2\\rceil-2?3N/2??2 B \\lfloor3N/2\\rfloor-2?3N/2??2 C 2N-22N?2 D 2N-42N?4

10、下面的故事与()算法有异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事??’” A 枚举 B 递归 C 贪心 D 分治

11、由四个没有区别的点构成的简单无向连通图的个数是()。 A 6 B 7 C 8 D 9

12、设含有10个元素的集合的全部子集数为S,其中有7个元素组成的子集数为T,则T/S的值为()。 A 5/32 B 15/128 C 1/8 D 21/128

13、10000以内,与10000互质的正整数有()个。 A 2000 B 4000 C 6000 D 8000

14、为了统计一个非负整数的二进制形式中1的个数,代码如下:

int CountBit(int x){ int ret = 0; while(x){ ret++;

__________; }

return ret; }

则空格内要填入的语句是:() A x>>=1 B x&=x-1 C x|=x>>1 D x<<=1

15、下图中所使用的数据结构是:()。

A 哈希表 B 栈 C 队列 D 二叉树

二、问题求解

1、甲乙丙丁四人在考虑周末要不要外出郊游。 已知①如果周末下雨,并且乙不去,则甲一定不去 ②如果乙去,则丁一定去 ③如果丙去,则丁一定不去

④如果丁不去,而且甲不去,则丙一定不去 如果周末丙去了,则甲___(去了/没去), 乙___(去了/没去), 丁___(去了/没去), 周末___(下雨/没下雨)。

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

三、阅读程序

1、

#include

char st[100]; int main(){

scanf(\

for(int i=0;st[i];++i){

if('A'<=st[i]&&st[i]<='Z') st[i]+=1; }

printf(\ return 0; }

输入:QuanGuoLianSai 输出:_____ 2、

#include int main(){ int x;

scanf(\ int res=0;

for(int i=0;i

printf(\ return 0; }

输入:15 输出:__ 3、

#include 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<

输入:5 6 输出:____ 4、

#include int n,d[100]; bool v[100]; int main(){

scanf(\

for(int i=0;i

int cnt=0;

for(int i=0;i

for(int j=i;!v[j];j=d[j]){ v[j]=true; } ++cnt; } }

printf(\ return 0; }

输入:10 7 1 4 3 2 5 9 8 0 6 输出:_____

四、完善程序

1、(最大公约数之和) 下列程序想要求解整数n的所有约数两两之间最大公约数的和对10007求余后的值,试补全程序。

举例来说,4的所有约数是1,2,4。1和2的最大公约数为1,2和4的最大公约数为2,1和4的最大公约数为1,于是答案为1+2+1=4

要求getDivisor函数的复杂度为O(\\sqrt{n})O(n),gcd函数的复杂度为O(log

max(a,b))O(logmax(a,b))

#include using namespace std;

const int N=110000,P=10007; int n;

int a[N],len; int ans;

void getDivisor(){ int len=0;

for(int i=1;__(1)__;i++) if(n%i==0){ a[++len]=i;

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4wkfg39pnb3blzb1bwa62p7v43zg0p00hyr_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top