第二十三届全国青少年信息学奥林匹克联赛 初赛
提高组参考答案
一、单项选择题(共 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++真题参考答案