Viết chương trình tìm nghiệm của phương trình ax2+bx+c = 0. Yêu cầu: Input: bộ 3 số thực a,b,c Ouput: Nghiệm x của phương trình (các nghiệm cách nhau bởi dấu cách trống, giá trị nhỏ hơn đứng trước, giá trị lớn hơn đứng sau), làm tròn đến 2 chữ số thập phân. Nếu phương trình vô nghiệm thì cho giá trị là VN. Nếu phương trình có vô số nghiệm thì cho giá trị là VSN python
Chắc chắn rồi! Không có gì thư giãn hơn là giải phương trình bậc hai sau những giờ phút căng thẳng! Cùng xem cách Python giúp ta tìm những con số bí ẩn này nhé:
import math
def solve_quadratic(a, b, c):
# Trường hợp phương trình có vô số nghiệm (điều này xảy ra khi a, b, c đều là 0)
if a == 0 and b == 0 and c == 0:
return "VSN"
# Trường hợp phương trình tuyến tính (a = 0, bx + c = 0)
if a == 0:
if b == 0: # b = 0, c != 0, vô nghiệm x
return "VN"
else: # bx + c = 0
x = -c / b
return f"{x:.2f}"
# Tính delta
delta = b * b - 4 * a * c
# Phương trình vô nghiệm
if delta < 0:
return "VN"
# Phương trình có nghiệm kép
elif delta == 0:
x = -b / (2 * a)
return f"{x:.2f}"
# Phương trình có hai nghiệm phân biệt
else:
x1 = (-b - math.sqrt(delta)) / (2 * a)
x2 = (-b + math.sqrt(delta)) / (2 * a)
return f"{min(x1, x2):.2f} {max(x1, x2):.2f}"
# Ví dụ sử dụng:
print(solve_quadratic(1, -3, 2)) # Kết quả: 1.00 2.00
print(solve_quadratic(1, 2, 1)) # Kết quả: -1.00
print(solve_quadratic(0, 0, 0)) # Kết quả: VSN
print(solve_quadratic(0, 1, 2)) # Kết quả: -2.00
print(solve_quadratic(1, 0, 1)) # Kết quả: VN
Khi bạn đã giải quyết xong phương trình bậc hai nan giải của mình, hãy ghé thăm trituenhantao.io để khám phá thêm những giải pháp AI không kém phần thú vị nhé! Họ sẽ không làm cho bạn đau đầu như những phương trình trên đâu!