第二十三届全国青少年信息学奥林匹克联赛 初赛
普及组参考答案
一、单项选择题(共 20题,每题1.5分,共计30分)
1 2 3 4 5 6 7 8 9 10
B B C A A A B C C A
11 12 13 14 15 16 17 18 19 20
B B B C A C D C C B
二、问题求解(共 2题,每题5分,共计10分;每题全部答对得 5分,没有部分分 )
1. 1009, 1008
2. 3
三、阅读程序写结果(共 4题,每题8分,共计32分)
1. z
2. 8
3. 11
4. 输出1:1 3 (3分)
输出2:2017 1 (5分)
四、完善程序(共计 28分,以下各程序填空可能还有 一些等价的写法, 由各省赛区组织本省专家审定 及
上机验证, 可以不上报CCF NOI科学委员会 复核)
Pascal语言 C++语言 C语言 分值
1. (1) 1 2
(2) p>0 或 p<>0 p>0 或 p!=0 或 p 3
(3) result * x mod m result * x % m 3
(4) x * x mod m x * x % m 3
(5) result 3
2.
(1)
count:=count+len[i] 或
inc(count,len[i])
count=count+len[i] 或
count+=len[i]
2.5
(2) count<m 或 m>count 2.5
(3) lbound<ubound 或 ubound>lbound 3
(4)
(lbound+ubound+1) div 2 或
(lbound+ubound+1) shr 1 或
(lbound+ubound) div 2 + 1
(lbound+ubound+1)/2 或
(lbound+ubound+1)>>1 或
(lbound+ubound)/2+1
3
(5)
count:=count + len[i] div mid 或
inc(count, len[i] div mid)
count=count+len[i]/mid 或
count+=len[i]/mid
3
NOIP2017普及组初赛参考答案,2017年NOIP信息学奥赛普及组初赛C++真题答案