Mình cũng có câu hỏi tương tự là:
nếu deta<0
thì có 2 nghiệm phức
vậy cách tính nghiệm phức thế nào mong các huynh muội chỉ bảo thêm
Python có giải được phương trình bậc 2 không?
Chỉ có phần delta là phức thôi, bạn viết lại công thức tách riêng hai phần là ra.
2 Likes
căn bậc 2 của -10 là sqrt(10)*i
≈ 3.16i
2 nghiệm là (- b - sqrt(delta)) / (2 * a)
và (- b + sqrt(delta))/(2 * a)
1 Like
ok. minh giai dc roi:D tks ca nha
import math
print("nhap phuong trinh ax2 + bx + c = 0")
while True:
try:
A = float(input("nhap a ="))
B = float(input("nhap b ="))
C = float(input("nhap c ="))
break;
except Exception:
print(" a, b, c must be number, try again")
if A == 0:
x = -C/B
print("nghiem x:",x)
if A != 0:
delta = B*B - 4*A*C
if delta < 0:
print("no solution")
elif delta == 0:
x12 = -B/2/A
print("x1 = x2 =",x12)
else:
x1 = (-B + math.sqrt(delta))/2/A
x2 = (-B + math.sqrt(delta))/2/A
print("x1=",x1)
print("x2=",x2)
https://docs.sympy.org/latest/modules/solvers/solvers.html
Làm theo trang web này chỉ cần input a,b,c là dùng lệnh solve là xong