noip2018普及组初赛试题c++(共7页).docx

上传人:飞****2 文档编号:13854952 上传时间:2022-05-01 格式:DOCX 页数:7 大小:34.02KB
返回 下载 相关 举报
noip2018普及组初赛试题c++(共7页).docx_第1页
第1页 / 共7页
noip2018普及组初赛试题c++(共7页).docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《noip2018普及组初赛试题c++(共7页).docx》由会员分享,可在线阅读,更多相关《noip2018普及组初赛试题c++(共7页).docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 第二十四届全国青少年信息学奥林匹克联赛初赛 普及组 C+语言试题 竞赛时间:2018 年 10 月 13 日 14:3016:30 选手 注意: l 试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在 试题纸上的一律无效。 l 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资 料。 一、单项选择题(共 15 题,每题 2 分,共计 30 分;每题有且仅有一个正确选项) 1. 以下哪一种设备属于输出设备:( ) A. 扫描仪 B. 键盘 C. 鼠标 D. 打印机 2. 下列四个不同进制的数中,与其它三项数值上不相等的是(

2、 )。 A. (269)16 B. (617)10 C. (1151)8 D. ()2 3. 1MB 等于( )。 A. 1000 字节 B. 1024 字节 C. 1000 X 1000 字节 D. 1024 X 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 的顺序循环按键,即

3、 CapsLock、A、 S、D、F、CapsLock、A、S、D、F、,屏幕上输出的第 81 个字符是字母( )。 A. A B. S C. D D. a 7. 根节点深度为 0,一棵深度为 h 的满 k(k1)叉树,即除最后一层无任何子 节点外,每一层上的所有结点都有 k 个子结点的树,共有( )个结点。 A. (k h+1 - 1) / (k - 1) B. k h-1 C. k h D. (k h-1) / (k - 1) 8. 以下排序算法中,不需要进行关键字比较操作的算法是( )。 A. 基数排序 B. 冒泡排序 C. 堆排序 D. 直接插入排序 9. 给定一个含 N 个不相同数字

4、的数组,在最坏情况下,找出其中最大或最小的数,至少需要 N - 1 次比较操作。则最坏情况下,在该数组中同时找最大与最小的数至少需要( )次比较操作。( 表示向上取整, 表示向下取整) A. 3N / 2 - 2 B. 3N / 2 - 2 C. 2N - 2 D. 2N - 4 10. 下面的故事与( )算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事” A. 枚举 B. 递归 C. 贪心 D. 分治 11. 由四个没有区别的点构成的简单无向连通图的个

5、数是( )。 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; 则空格内要

6、填入的语句是( )。 A. x = 1 B. x &= x - 1 C. x |= x 1 D. x = 1 15. 下图中所使用的数据结构是( )。 B A A A C A 压入 A 压入 B 弹出 B 压入 C A. 哈希表 B. 栈 C. 队列 D. 二叉树 二、问题求解(共 2 题,每题 5 分,共计 10 分) 1. 甲乙丙丁四人在考虑周末要不要外出郊游。 已知如果周末下雨,并且乙不去,则甲一定不去;如果乙去,则丁一定去;如果丙去,则丁一定不去;如果丁不去,而且甲不去,则丙一定不去。如果周末丙去了,则甲_(去了/没去)(1分),乙_(去了/没去)(1分),丁_(去了/没去)(1分),

7、周末_(下雨/ 没下雨)(2分)。 2. 从1到2018这2018个数中,共有_个包含数字8的数。包含数字8的数是指有某一位是“8”的数, 例如“2018”与“188”。 三 、阅读程序写结果(共 4 题,每题 8 分,共计 32 分) 1. #include char st100; int main() scanf(%s, st); for (int i = 0; sti; +i) if (A = sti & sti = Z) sti += 1; printf(%sn, st); return 0; 输入:QuanGuoLianSai 输出:_ 2. #include int main()

8、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 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,

9、m - 1); int main() cin n m; cout findans(n, m) endl; return 0; 输入:5 6 输出:_ 4. #include int n, d100; bool v100; int main() scanf(%d, &n); for (int i = 0; i n; +i) scanf(%d, d + i); vi = false; int cnt = 0; for (int i = 0; i n; +i) if (!vi) for (int j = i; !vj; j = dj) vj = true; +cnt; printf(%dn, cnt

10、); return 0; 输入:10 7 1 4 3 2 5 9 8 0 6 输出:_ 四、完善程序( 共 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 函数的复杂度为𝑂函数的复杂度为𝑂(log max(𝑎, &

11、#119887;)。 #include using namespace std; const int N = , P = 10007; int n; int aN, len; int ans; void getDivisor() len = 0; for (int i = 1; (1) 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; 2. 对于一个1到𝑛的排列

12、19875;(即1到𝑛中每一个数在𝑃中出现了恰好一次),令𝑞𝑖为 第𝑖个位置之后第一个比𝑃𝑖值更大的位置,如果不存在这样的位置,则𝑞𝑖 = 𝑛 + 1。 举例来说,如果𝑛 = 5且𝑃为1 5 4 2 3,则𝑞为2 6 6 5 6。 下列程序读入了排列𝑃,使用双向链表求解了答案。试补全程序。(第二空 2 分,其余 3 分) 数据范围 1 𝑛 105。 #include using namespace std; const int N = ; int n; int LN, RN, aN; int main() cin n; for (int i = 1; i x; (1) ; for (int i = 1; i = n; +i) Ri = (2) ; Li = i - 1; for (int i = 1; i = n; +i) L (3) = Lai; RLai = R (4) ; for (int i = 1; i = n; +i) cout (5) ; cout endl; return 0; 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁