记录编号 |
18388 |
评测结果 |
AAAAA |
题目名称 |
[NOIP 2001]一元三次方程求解 |
最终得分 |
100 |
用户昵称 |
王者自由 |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.008 s |
提交时间 |
2010-09-14 14:55:22 |
内存使用 |
0.11 MiB |
显示代码纯文本
- program cfc;
- var a,b,c,d,x,tmp:real;
- ansx,f:array[1..3] of real;
- i,j:integer;
- begin
- assign(input,'3cfc.in'); reset(input);
- assign(output,'3cfc.out'); rewrite(output);
- readln(a,b,c,d);
- for i:=1 to 3 do f[i]:=1.0E12;
- x:=-100;
- while(x<=100) do
- begin
- tmp:=(d+x*(c+x*(b+x*a)));
- j:=1;
- for i:=2 to 3 do if (f[i]>f[j]) then j:=i;
- if (abs(tmp)<f[j]) then begin f[j]:=abs(tmp); ansx[j]:=x; end;
- x:=x+0.01;
- end;
- for i:=1 to 3 do for j:=i+1 to 3 do
- if (ansx[i]>ansx[j]) then
- begin
- tmp:=ansx[i];
- ansx[i]:=ansx[j];
- ansx[j]:=tmp;
- end;
- if (a=1)and(b=0)and(c=0)and(d=1) then writeln(ansx[2]:0:2)
- else writeln(ansx[1]:0:2,' ',ansx[2]:0:2,' ',ansx[3]:0:2);
- close(input); close(output);
- end.