第 二十 三 届全国青少年信息学奥林匹克联赛 初赛
提高 组 参考答案
一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分)
1 2 3 4 5 6 7 8
C B A C A C B C
9 10 11 12 13 14 15
D B D D A D C
二、不定项选择题(共 5题,每题 1.5 分,共计 7.5 分;每题有一个或多个正确选项, 没有部分分 )
1 2 3 4 5
CD C D BD BD
三、问题求解(共 2题,每题 5分,共计 10 分)
1. 3
2. 4 (2分)
9 (3分)
四、阅读程序写结果(共 4题,每题 8分,共计 32 分)
1. 15
2. 17 24 1 8 15
3. 8
4. 输出 1: 1 3 ( 2分) 输出 2: 2017 1 ( 3分) 输出 3: 1 321 ( 3分)
五、完善程序(共计 28 分, 以下各 程序填 空可能还有 一些 等价的写法, 由各省 赛区 组织 本省专家审定 及
上机验证, 可以不 上报 CCF NOI 科学委员会 复核 )
Pascal 语言 C++ 语言 C语言 分值
1
.
(1) p[0] 2
(2) rest<q 或 q>rest 3
(3) rest div q rest / q 3
(4) rest mod q * 10 + p[i] rest % q * 10 + p[i] 3
(5) rest mod q rest % q 3
2
2
.
(1) degree[b]:=degree[b]+1 或
inc(degree[b])
degree[b]=degree[b]+1 或
degree[b]++ 或 ++degree[b] 3
(2) degree[i]=0 degree[i]==0 或 !degree[i] 3
(3) degree[i]:=degree[i] -1 或
dec(degree[i])
degree[i]=degree[i] -1 或
degree[i] -- 或 -- degree[i] 3
(4) head:=head+1 或 inc(head) head=head+1 或 head++ 或 ++head 3
(5) ans< len[a] 或 len[a]> ans 2
NOIP2017提高组初赛参考答案,2017年信息学奥赛NOIP提高组初赛C++真题参考答案