第一届(1995年)NOIP联赛普及组初赛试题(附答案)

发布时间 : 星期四 文章第一届(1995年)NOIP联赛普及组初赛试题(附答案)更新完毕开始阅读

1.数组面积的定义:(限定数组头尾不为0) 设有一个数组C=(4,8,12,0,6) 则C的面积为:

1 Sc=(4+8)/2 + (8+12)/2 + 12/2 + 6/2

也就是说,Sc=各梯形面积之和(其中梯 8 6 4 形的高约定为1,三角形作为梯形的特殊情况

1 1 1 1 处理)。

又如D=(12, 24, 6)时,其面积的定义为Sd=(12+24)/2 + (24+6)/2

24

12 6

1 1

2.数组错位相加的定义

设有2个正整数的数组a,b,长度为n,当n=5时: a=(34,26,15,44,12) b=(23,46,4,0,18) 对a、b进行错位相加,可能有下列情况 34 26 15 44 12

+) 23 46 4 0 18 34 26 15 44 12 23 46 4 0 18 或:

34 26 15 44 12

+) 23 46 4 0 18 - 34 26 15 44 35 46 4 0 18 或:

34 26 15 44 12

+) 23 46 4 0 18 34 26 15 67 58 4 0 18 或:?? 最后有:

34 26 15 44 12 +) 23 46 4 0 18 - 23 46 4 0 18 34 26 15 44 12 可以看到:由于错位不同,相加的结果也不同。

程序要求:找出一个错位相加的方案,使得输出的数组面积为最大。 [算法提要]: 设a,b的长度为10,用a,b: array[1..10] of integer表示,其结果用数组C,D:

array[1..30] of integer表示。

错位相加的过程可以从开始不重叠,然后逐步重叠,再到最后的不重叠。 梯形面积的计算公式为:(上底+下底)×高÷2 其中由于约定高为1,故可写为(上底+下底)÷2。 程序: n = 10;

…… Function sea : real; {计算数组C面积}

5

Begin J1 := 1;

While _______①______ do j1 := j1 + 1; ENDWHILE;

If j1 = 3 * n then sea := 0 Else begin

J2 := 3 * n;

While _______②______ do j2 := j2 - 1;

If j1 = j2 then sea := 0 Else begin

J3 := c[j1] + c[j2];

For j4 := j1 + 1 to j2 - 1 do INC(j3,c[j4]*2); ENDFOR; Sea := j3 / 2 end ENDIF; End;

//主程序//

For i := 1 to n do read(a[I]); endfor; For j := 1 to n do read(b[j]); endfor; __________③____________; for i := 1 to 2 * n + 1 do

for j := 1 to 3 * n do ________④__________ endfor; for j := 1 to n do c[j + n] := a[j] endfor; for j := 1 to n do

_________⑤__________; endfor; p := sea;

if p > s then begin d := c; s := p end; endif; endfor;

for I := 1 to 3 * n do write(d[I],' '); endfor; write(s);

End. //主程序结束//

6

NOI’95 “同创杯”全国青少年信息学(计算机)奥林匹克竞赛

分区联赛初赛试题(初中组) 试题参考答案

一、 基础题:共34分

<1> 本题共4分

显示结果不相同,③和④比①多出一个文件目录。

<2> 本题共5分

所表示的公式是:

E=1+X/1!+ X2/2!+ X3/3!+??+ X10/10!

<3> 本题共7分

列出的算法是: K:=0

FOR i:=0 TO 10 DO

K:=K+(50-I*5) DIV 2+1; ENDFOR;

<4> 本题共10分

(1)k和i,j之间的关系表示为:4% k:=(i-1)*i/2+j

(2)给定k值后,决定相应的i,j值的算法为:6%

j:=k; i:=1;

While j>i do j:=j-I; i:=i+1; Endwhile;

<5> 本题共8分

四色球在盒子中放置的情况为:4%

1 2 3 4 黑 红 白 黄 推理过程是:4%

假定: 黑为1√ ?黄为2× ?黑为2× ?白为3√ ?红为2√ ?白为4× ?黄为4√

二、根据题日要求,补充完善以下伪代码程序:(共66分)

<1> 共10分(每空二分)

① for i:=10 to 99 do

7

② x:=i mod 10; ③ y:=i div 10; ④ If (i+j)<100 ⑤ if k mod 6=0

<2> 共12分(每空三分)

① s:=0; ② s:=s+a[j]; ③ a[i]:=s+1

④ t:=t+a[i]; 或t:=t*2+1

<3> 共24分(每空四分)

① for i:=2 to num-1 do 或for i:=2 to sqrt(num)do ② if b[i] <>0 ③ if b[i]<>0

④ for i1:=i+1 to num do

⑤ delta:=i1-i; 或delta=b[i1]-b[i]

⑥ while (i1+k0 do

<4> 共20分(每空四分)

① c[j1]=0 and j1<3*n ② c[j2]=0 and j2>j1 ③ s:=0; ④ c[j]:=0;

⑤ c[i+j-1]:=c[i+j-1]+b[j]

8

联系合同范文客服:xxxxx#qq.com(#替换为@)