pascal求一元二次方程(二次项系统不为0)ax2+bx+c=0(a≠0)的实数根

[复制链接]
查看11 | 回复2 | 2009-11-15 21:59:24 | 显示全部楼层 |阅读模式
var a,b,c,x1,x2:real;begin readln(a,b,c); x1:=(-1*b-sqrt(b*b-4*a*c))/(2*a); x2:=(-1*b-sqrt(b*b-4*a*c))/(2*a); writeln(x1:0:3);//保留三位小数,下同 writeln(x2:0:3);end.
回复

使用道具 举报

千问 | 2009-11-15 21:59:24 | 显示全部楼层
Y=ax2+bx+c=a(x2+bx/a+c/a)=a[x2+bx/a+(b/2a)2-(b/2a)2+c/a]=a[(x+b/2a)2-b2/4a2+c/a]=a(x+b/2a)2-b2/4a+4c/4a=a(x+b/2a)2+(4ac-b2)/4a
回复

使用道具 举报

千问 | 2009-11-15 21:59:24 | 显示全部楼层
beginreadln(a,b,c);if b*b<4*a*c then
writeln('No answer')else
if b*b=4*a*c then
writeln(-b/(2*a):0:2)
else
begin
writeln((-b+sqrt(b*b-4*a*c))/(2*a):0:2);
writeln((-b-sqrt(b*b-4*a*c))/(2*a):0:2);
end;end.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行