Phương trình bậc 2 (EQN) Giải phương trình bậc hai Cho ba số thực a, b, c, hãy tìm nghiệm của phương trình ax 2 + bx + c = 0 Dữ liệu: Vào từ thiết bị nhập chuẩn gồm một dòng ghi ba số a, b, c (a ≠ 0) Kết quả: Ghi ra thiết bị xuất chuấn • Nếu phương trình vô nghiệm ghi ra NO SOLUTION • Nếu phương trình có nghiệm kép, in ra nghiệm kép làm tròn tới 4 chữ số sau dấu chấm thập phân. • Nếu phương trình có hai nghiệm phân biệt, in ra mỗi nghiệm trên một dòng làm tròn tới 4 chữ số sau dấu chấm thập phân, nghiệm nhỏ hơn in trước Ví dụ: Sample Input 3 4 5 Sample Output NO SOLUTION
2 câu trả lời
Program PTB2;
Uses Crt;
Var a,b,c:Real;
Delta,x,x1,x2:Real;
Begin
clrscr;
Read(a);
while a=0 do read(a);
read(b); readln(c);
Delta:=sqr(b)-4*a*c;
If Delta < 0 Then Writeln('NO SOLUTION')
Else If Delta=0 Then
Begin
x:=-b/2*a;
Writeln('Phuong trinh co nghiem kep x1=x2= ',x:2:4);
End
Else
Begin
x1:=-b-Sqrt(Delta)/2*a;
x2:=-b+Sqrt(Delta)/2*a;
writeln('Phuong trinh co 2 nghiem:');
Writeln('x1 = ',x1:2:4);
Writeln('x2 = ',x2:2:4);
End;
Readln
End.
*Python:
from math import sqrt
a,b,c=map(int,input().split())
delta=b**2-4*a*c
if delta < 0:
print("NO SOLUTION")
elif delta == 0:
print("{:.4f}".format(-(b/(2*a))))
else:
print("{:.4f}".format((-(b)+sqrt(delta))/(2*a)))
print("{:.4f}".format((-(b)-sqrt(delta))/(2*a)))