noip普及组复赛答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;