我们假定二元一次方程组的一般格式如下:(a,b,c,d,e,f为常数,x,y为未知数)
ax+by=c
dx+ey=f
程序读入a,b,c,d,e,f后,输出解。
当然,方程组也有可能存在无解或有无穷解的情况:如果(x,y)没有相对应的实数对满足方程组则无解;相反,如果(x,y)有多组对应的实数对满足方程组则有无数解。
如果无解,就输出“No answer”;如果有无穷解,就输出“Too many”。
输入仅1行,包含6个整数,a,b,c,d,e,f。如果有解,那么第1行先输出“x=”,再输出x的值,第2行先输出“y=”,再输出y的值,均保留2位小数,请参照样例输出。
如果无解或有无数解则按要求输出“No answer”或“Too many”。
未成功代码:
var
a,b,c,d,e,f,x,y:real;
begin
while not eof do begin
readln(a,b,c,d,e,f);
if (a*e-b*d=0) and ((c*e-b*f<>0) or (a*f-c*d<>0)) then writeln('No answer')
else if (c*e-b*f=0) or (a*f-c*d=0) then writeln('Too many')
else begin
y:=(a*f-c*d)/(a*e-b*d);
x:=(b*d-a*e)/(f*b-c*e);
writeln('x=',x:0:2);
writeln('y=',y:0:2);
end;
end;
end.
ax+by=c
dx+ey=f
程序读入a,b,c,d,e,f后,输出解。
当然,方程组也有可能存在无解或有无穷解的情况:如果(x,y)没有相对应的实数对满足方程组则无解;相反,如果(x,y)有多组对应的实数对满足方程组则有无数解。
如果无解,就输出“No answer”;如果有无穷解,就输出“Too many”。
输入仅1行,包含6个整数,a,b,c,d,e,f。如果有解,那么第1行先输出“x=”,再输出x的值,第2行先输出“y=”,再输出y的值,均保留2位小数,请参照样例输出。
如果无解或有无数解则按要求输出“No answer”或“Too many”。
未成功代码:
var
a,b,c,d,e,f,x,y:real;
begin
while not eof do begin
readln(a,b,c,d,e,f);
if (a*e-b*d=0) and ((c*e-b*f<>0) or (a*f-c*d<>0)) then writeln('No answer')
else if (c*e-b*f=0) or (a*f-c*d=0) then writeln('Too many')
else begin
y:=(a*f-c*d)/(a*e-b*d);
x:=(b*d-a*e)/(f*b-c*e);
writeln('x=',x:0:2);
writeln('y=',y:0:2);
end;
end;
end.