pascal问题解答

来源:百度知道 编辑:UC知道 时间:2024/08/20 10:32:38
求一元三次方程的解
有形如:Ax3+Bx2+Cx+d=0的一元三次方程(x3为x的3次方,x2为x的2次方)。给出该方程各项的系数(A,B,C,D均为实数),并约定该方程存在三个不同的实根(根的范围在-100到100之间),且根与根之差的绝对值>=1,要求由小到大依次在同一行上输出这3个实根,并精确到小数点后2位。
大哥大姐拜托了,请尽快解决,之后会追加悬赏。

const
maxn=100;
rx:array[1..4]of integer=(1,0,-1,0);
ry:array[1..4]of integer=(0,-1,0,1);
var
a:array[0..maxn+1,0..maxn+1]of integer;
n,i,j,k,r:integer;
begin
fillchar(a,sizeof(a),0);
readln(n);
r:=1;
i:=1;
j:=n;
k:=1;
while a[i,j]=0 do
begin
a[i,j]:=k;
i:=i+rx[r];
j:=j+ry[r];
if (a[i,j]<>0) or (i>n) or (j>n) or (i<1) or (j<1)
then begin
i:=i-rx[r];
j:=j-ry[r];
r:=(r+1) mod 4;
if r=0
then r:=4;
i:=i+rx[r];
j:=j+ry[r];
end;
inc(k);
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
end.

穷举啊
read(a,b,c,d);
for x:=-10000 to 10000 do {保留2位}
if a*a*a/100*x+b*b*x/100+