Bài 9 - Phương trình bậc hai (nghiệm thu gon)
Đề bài: Nhập a, b, c. Giải phương trình ax^2 + bx + c = 0
bằng công thức nghiệm thu gon (khi b chan thì b' = b/2).
Ví dụ: a = 1, b = -6, c = 8
Kết quả:
b' = -3, Delta' = b'^2 - ac = 9 - 8 = 1
x1 = (-b' + can(Delta')) / a = (3 + 1) / 1 = 4
x2 = (-b' - can(Delta')) / a = (3 - 1) / 1 = 2
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
import math
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if b % 2 == 0:
b_prime = b / 2
delta_prime = b_prime**2 - a * c
print(f"b' = {b_prime}, Delta' = {delta_prime}")
if delta_prime > 0:
x1 = (-b_prime + math.sqrt(delta_prime)) / a
x2 = (-b_prime - math.sqrt(delta_prime)) / a
print(f"x1 = {round(x1, 4)}, x2 = {round(x2, 4)}")
elif delta_prime == 0:
x = -b_prime / a
print(f"Nghiem kep: x = {x}")
else:
print("Phuong trinh vo nghiem thuc")
else:
# Dung cong thuc thuong
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print(f"Delta = {delta} > 0")
print(f"x1 = {round(x1,4)}, x2 = {round(x2,4)}")
elif delta == 0:
print(f"Nghiem kep: x = {round(-b/(2*a), 4)}")
else:
print("Phuong trinh vo nghiem thuc")