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)))