------------------------------------
测试结果1: 运行错误|无效浮点操作
测试结果2: 运行错误|无效浮点操作
测试结果3: 运行错误|无效浮点操作
测试结果4: 通过本测试点|有效耗时62:ms
测试结果5: 通过本测试点|有效耗时78:ms
提交代码:
{N+}
var a,b:array[1..10000]of longint;
ap,bp,ac,bc:extended;
an,bn,i:integer;
ad,bd:longint;
begin
readln(an,bn);
ad:=0;
bd:=0;
for i:=1 to an do
begin
read(a[i]);
ad:=ad+a[i];
end;
readln;
for i:=1 to bn do
begin
read(b[i]);
bd:=bd+b[i];
end;
ap:=ad/an;
bp:=bd/bn; //平均数
ac:=0;
bc:=0;
for i:=1 to an do ac:=ac+(a[i]-ap)*(a[i]-ap);
for i:=1 to bn do bc:=bc+(b[i]-bp)*(b[i]-bp);
ac:=ac/an;
bc:=bc/bn; //方差
if (an>bn)and(ap>bp)and(ac<bc) then write(’can’) else
begin
write(’can’);
write(chr(39));
write(’t’);
end;
end.
ap:=ad/an;
bp:=bd/bn; //平均数
ac:=ac/an;
bc:=bc/bn; //方差
数据有可能存在an或者bn为0的情况,如果不加以判断出现的浮点数操作错误会是被0除!
--------------------------------------
测试结果1: 运行错误|无效浮点操作
测试结果2: 运行错误|无效浮点操作
测试结果3: 通过本测试点|有效耗时47:ms
测试结果4: 通过本测试点|有效耗时62:ms
测试结果5: 通过本测试点|有效耗时63:ms
提交代码:
{N+}
var a,b:array[1..10000]of longint;
ap,bp,ac,bc:extended;
an,bn,i:integer;
ad,bd:longint;
begin
readln(an,bn);
if an<bn then
begin
write(’can’);
write(chr(39));
write(’t’);
exit;
end;
ad:=0;
bd:=0;
for i:=1 to an do
begin
read(a[i]);
ad:=ad+a[i];
end;
readln;
for i:=1 to bn do
begin
read(b[i]);
bd:=bd+b[i];
end;
ap:=ad/an;
bp:=bd/bn;
ac:=0;
bc:=0;
for i:=1 to an do ac:=ac+(a[i]-ap)*(a[i]-ap);
for i:=1 to bn do bc:=bc+(b[i]-bp)*(b[i]-bp);
ac:=ac/an;
bc:=bc/bn;
if (an>bn)and(ap>bp)and(ac<bc) then write(’can’) else
begin
write(’can’);
write(chr(39));
write(’t’);
end;
end.
var
s,z:array[1..20000] of longint;
n,m,i:integer;
s1,s2,a1,a2,f1,f2:real;
begin
readln(n,m);
if n<=m then begin
writeln(’can’’t’);
halt;
end;
for i:=1 to n-1 do begin
read(s[i]);
s1:=s1+s[i];
end;
readln(s[n]);
s1:=s1+s[n];
for i:=1 to m-1do begin
read(z[i]);
s2:=s2+z[i];
end;
readln(z[m]);
s2:=s2+z[m];
if n<>0 then a1:=s1/n;
if m<>0 then a2:=s2/m;
if a1<=a2 then begin
writeln(’can’’t’);
halt;
end;
s1:=0;
s2:=0;
for i:=1 to n do s1:=(s[i]-a1)*(s[i]-a1);
f1:=s1/n;
for i:=1 to m do s2:=(z[i]-a2)*(z[i]-a2);
f2:=s2/m;
if f1>f2 then begin
writeln(’can’’t’);
halt;
end;
writeln(’can’);
end.
楼主将就这看吧,我是层层递进,不行就退,ac了
if bn=0 then begin write(’can’); exit; end;
else if an=0 then begin write(’can’,#39,’t’); exit; end;