YLARMY 11-3-2007 12:17 AM
NOIP历届题
[code]p+pms"[l9p
Z
这个,2001试题1一元三次方程求解(2004发布)
/waj8Qtdy
program a01_g1;
B\EPr'U
var "gzwL:x1k
x:array[1..3] of real; $oN!gR8u0T
a,b,c,d,u,v:real;
#lQ1ic#J0? rG%U
i,t:integer; 8s
^ rep
function f(x:real):real; 5s:{G+_my
begin
-sTY}/L'E
f:=((a*x+b)*x+c)*x+d;
)H4p`fn;C.p0Q+W
end;
"}'h0k%qwA:I8^
begin ;k5]q9b0E
read(a,b,c,d);
uli9|"_0`2IM$RG
t:=0;
e-kCs,r ~ HX"[
for i:=-100 to 100 do
q4Lv MU(B4tS
begin
VP2G-~/c&?
u:=i;v:=u+0.99999;
!a!JB,p*aL~
if(abs(f(u))<0.00001)or(f(u)*f(v)<=0)then
#KN1]#r,T\
begin
-H9R%p'W[e)}s!O
inc(t); "Q-@"{
cl,\*}8q
if abs(f(u))<=0.00001 then x[t]:=u 4}y.T*t5fK(SUt9Zw
else begin ,{P9S+T7d;cV
while (u+0.001<v) and (f((u+v)/2)<>0)do
*JmukR(r R[
if f(u)*f((u+v)/2)<0 then v:=(u+v)/2 else u:=(u+v)/2; 2}R
n0]b]
x[t]:=(u+t)/2;
8E,PZk*}8CM
end;
X;E,y7]V I
end;
]'Z3IGlSe-X4BT
end;
wb;s0X'I0|b
for t:=1 to 3 do
2R+j6qr2j `L
write(x[t]:0:2,' '); N'}4@'\+Qh
writeln;
E7`3Sg8R E!t,M
end.
_1g
FFaz'oBy
[/code]
1u&Sx{)p`0v5{
[color=White]
:I&F@3N3E3|&e
&Pd%w4v2T4@kEA`
[[i] 本帖最后由 sycsim 于 2007-3-11 03:11 AM 编辑 [/i]]
YLARMY 11-3-2007 12:17 AM
[code]
9I"{9fD[+L
2002年试题1纸牌均分(2004发布)
^&Wi4_KQH1f&^
program gao1; /X Y"V@'Z.T/_V
var Al/ms8?jT3AEo+P
n,i,j,j1,s,s1,avg:integer;
h
Q)BBZ
x:array[1..1000]of integer; ,V9HVN7?$S.TU
f1:text;
$iFq/W&u&i!c2C[l
str:string;
'H3O%K1aF
Lt&W!\"C
begin 7xK4q'^(S _K(^LG
readln(str); #\v*nAa0w-}0EI
assign(f1,str);
a6DL1r#^C:b[
reset(f1);
x:p&`L,DD*bpIS
readln(f1,n); z{o3i?._f
avg:=0;
J N MDs/]x yf
for i:=1 to n do
H;|Qy#fd+]
begin
;fH_LU
read(f1,x[i]);
w
vW*~
B
avg:=avg+x[i]; -tQB[0jQo p
end; Wg5M8bn
close(f1); l6YDg2v'[(n-A
avg:=avg div n;
"r7G7GCS)[n&o$]yb0K
s:=0;
{kG9N3v9c
j:=1;
I:p |6b \
while (j<n) do -N%~
_2U/A E
begin P H5gg*qU3x
j1:=1;
E F!jcW_.\5]0R
s1:=x[j]; 5^6r{MM
while (s1<j1*avg)do
aa[-|&MjD)Z9z
begin a"cW,_6?F
j:=j+1; f^GC&yB0_L*f1x z"D
j1:=j1+1; 5o|2A e&c*e#Rk
s1:=s1+x[j]; y*F7L
M!R2u
end; -X+l,b;e{'K,x:YA
if (s1=j1*avg)then s:=s+j1-1
rk)b$x0b7o7O1@9d^
else begin
/Zp
cw/{!G
s:=j1;
f1Z X h2rb]H~
x[j+1]:=x[j+1]+s1-j1*avg; ]6h,g4u4Kd
O
end;
7[:j,}O2H
uv"W)t
j:=j+1;
-oK'cYt(UU(@
end;
0{lVSL*SH'F*f
writeln(s);