noip普及组复赛答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

noip普及组复赛答案

【篇一:noip普及组复赛入门测试(答案+测试数据)】class=txt>新龟兔赛跑比赛即将举行,此次龟兔赛跑比赛的规则与以

往有所不同,不再考察兔子和乌龟谁在最短的时间内跑完规定的路程,而是考察谁在规定时间内跑的路程更长,且兔子和乌龟跑步都是匀速的。由于兔子的坏习惯,它总喜欢把比赛的总时间t小时中的k小时拿来睡觉。现在给你比赛的总时间t、兔子的睡觉时间k、兔子的速度u、乌龟的速度v,需要你求出该次比赛谁最后获胜。

输入第一行为一个整数x,表示有x组输入数据。每组数据只有一行,包括4个数t、k、u、v (1 ≤ t≤ 300,0 ≤ k ≤ t,1 ≤ u ≤ 100,1 ≤ v ≤ 100)。

对于每组数据,输出只有一个数,如果兔子获胜则输出-1,如果乌龟获胜则输出1,如果同时到达则输出0。允许输入一组数后立即输出对应的结果。样例输入:2

1 1

2 1

6 2 6 3

样例输出:

1

-1

var

v,u,t,k,n,i:integer;

begin

readln(n);

for i:=1 to n do begin

readln(t,k,u,v);

if v*tu*(t-k) then writeln(1);

if v*tu*(t-k) then writeln(-1);

if v*t=u*(t-k) then writeln(0);

end;

end.

1、输入:

2

6 2 6 2

8 6 8 2

输出:

-1

2、输入:

2

300 280 60 20

120 0 12 13

输出:

1

1

3、输入:

3

100 20 50 30

100 50 45 25

100 80 27 17

输出:

-1

1

1

4、输入:

3

150 77 29 23

127 11 22 13

139 22 13 7

输出:

1

-1

-1

二、小球路程(文件名:xqlc.pas )

已知小球从100米高度自由下落,落地后反弹起,又落地,又弹起,??。每次弹起的高度都是上一次高度的一半。求小球第n次反弹起的高度和球在整个过程所经过的路程(包括下落和反弹),用键盘输入n,输出反弹高度和经过路程,结果保留两位小数。

输入输出示例:输入:2

输出:25.00

225.00

var n,b:integer;s,h:real;

begin readln(n);

h:=100;

for b:=1 to n do begin

s:=s+h;

h:=h/2;

s:=s+h;

end;

writeln(h:0:2);

writeln(s:0:2);

end.

三、商品编码(文件名:spbm.pas)

某种商品编码是一个由13位数字组成的可识别的编码。通过对这些编码数字使

用一种计算方法可以检验输入的数字是否正确。

这种称为13位数字的“1-3和”的计算方法是,从第一位开始乘1,每个数字交替乘以1和3,然后算出相加的和。例如,9780921418948的“1-3和” 的计算如下:

9*1+7*3+8*1+0*3+9*1+2*3+1*1+4*3+1*1+8*3+9*1+4*3+8*1=120要求输入商品编码,计算对应的“1-3和”。

样例输入:9780921418948

样例输出:120

var

c:char;

s,i,n,m:integer;

begin

s:=0;

for i:=1 to 13 do begin

read(c);

if i mod 2=1 then m:=1 else m:=3

s:=s+m*(ord(c)-48);0 ascii 码48

end;

writeln(s);

end.

输入 1234567890123 输出 95 输入 1230145678922 输出 94

输入 3309890786442 输出 139 输入 9978564578341 输出 156四、寻找x的幂(文件名xzxdm.pas)

数学上把x的k次方叫x的k次幂,如4的3次幂为4自乘3次。给定一个整数n,请输出距离它最近的那个x的幂是多少。如果有两个距离相同,输出那个小的。

输入整数x(2 ≤ x ≤ 5)和n(10 ≤ n ≤ 20000),输出一个整数,表示距离最近的那个x的幂。

样例输入:2 17样例输出:16

var

n,x,tp,tp1:integer;

begin

readln(x,n);

tp:=x;

repeat

tp:=tp*x; 幂

until tpn;

tp1:=tp div x;

if tp-n=n-tp1 then writeln(tp1)

else writeln(tp);

end.

1、输入:

3 80

输出:

81

2、输入:

5 625

输出:

625

3、输入:

4 12288

输出:

16384

4、输入:

2 5768

输出:

4096

五、表达式计算(文件名bds.pas)

输入一个正整数n(1≤n≤500),求s=1+2-3+4+5-6+7+8-9+??+n,并统计其中共有多少个减号。输入只有1行,一个正整数n。输出文件也只有一行,二个整数,中间用空格隔开,分别表示s的值和减号

的个数。

样例:输入: 15

输出:30 5

var

i,s,k,n:longint;

相关文档
最新文档