i2to
2doifa1i0the
begi
t2
diviforj2tot2doa1ij1e
dt0fori2to
doifa1i0the
21
f马鞍山二中
NOIP20062008初赛(提高组)试题&解析
begi
writei4e
dwritel
e
di
ctiftmod100the
writel
输出:【答案】23571131374143471317192329
4
programS404co
st
12ch2array012ofcharqASORTEXAMPLEvarki
tegercharray012ofcharprocedurevarvcharji
tegerbegi
vchkjkkwhilej
dobegi
ifj
a
dordchjordchj1the
i
cjifordvordchjthe
begi
chjdiv2chjjj2e
delseexitchjdiv2ve
de
dprocedurehpsrtvarki
tegertmpcharbegi
fork
div2dow
to1dowriteNo1fork1to
dowritel
fork
dow
to1dobegi
tmpch1ch1chkchktmp
22
shiftk
i
teger
shiftk
writechk
f马鞍山二中
NOIP20062008初赛(提高组)试题&解析
shift1k1e
de
dbegi
fork0to
dochkch2khpsrtwriteNo2fork1to
dowritechkwritel
e
d
输出:【答案】No1XTORSEAAMPLENo2AAEELMOPRSTX
五.完善程序
前5空,每空2分,后6空,每空3分,共28分
1.格雷码GrayCodeGrayCode是一种二进制编码,编码顺序与相应的十进制数的大小不一致。其特点是,对于两个相邻的十进制数,对应的两个格雷码只有一个二进制位不同。另外,最大数与最小数间也仅有一个二进制位不同,以4位二进制数为例,编码如下:十进制数格雷码十进制数格雷码00000811001000191101200111011113001011111040110121010501111310116010114100170100151000如果把每个二进制的位看做一个开关,则将一个数变为相邻的另一个数,只须改动一个开关。因此,格雷码广泛用于信号处理、数模转换等领域。下面程序的任务是:由键盘输入二进制的位数
16,再输入一个十进制数m0≤m2
,然后输出对应于m的格雷码共
位,用数组gr存放
programs501varbou
d,m,
,i,j,b,pi
tegergrarray014ofi
teger
23
f马鞍山二中
NOIP20062008初赛(提高组)试题&解析
begi
bou
d1writel
i
put
,mreadl
,mfori1to
dobou
difm0ormbou
dthe
begi
writel
Dataerror②e
db1fori1to
dobegi
p0bb2for③tomdothe
if④p1pgrpe
dfori
⑤writegrwritel
e
ddo①
【答案】①bou
d2②exit③j0④jmodbbdiv20⑤dow
to12.(连续邮资问题)某国发行了
种不同面值的邮票,并规定每封信上最多允许贴m张邮票。在这些约束下,为了能贴出1,2,3,…,maxvalue连续整数集合的r