Tin học Python giải phương trình bậc 2

Nguyễn Đăng Bình

Học sinh gương mẫu
Thành viên
12 Tháng hai 2019
2,154
1,938
321
Hà Nội
Trường THPT chuyên Hà Nội-Amsterdam
Last edited:

Elishuchi

Cựu Mod Vật lí
Thành viên
13 Tháng mười 2015
2,240
2,921
479
Thanh Hoá
github.com
Thanh Hóa
✎﹏ ๖ۣۜTHPT❄๖ۣۜTriệu❄๖ۣۜSơn❄④ღ
Lập trình để giải pt sau: x^2 + x(2a+1) + (2a - 2a - 2m) = 0 với x là nghiệm cần giải; a và m là biến số cần nhập.
a ko có biết hàm trong python á nên anh chỉ hướng ok nhỉ?
Đọc a và m
Pt có dạng
$k.x^2+bx+c=0$
Với $k=1; b=(2a+1); c=(2a - 2a - 2m)$
Tính $\Delta$ rồi ta dùng công thức tính $x_1,x_2$ là ok thôi em
 

_. ._ _..

Học sinh
Thành viên
13 Tháng một 2022
42
24
31
17
Thái Bình
Code của em như thế này nhưng nó vẫn còn lỗi khi pt có nghiệm kép bằng 0 thì nó sẽ in ra là -0.0
Mã:
import math

a = float(input())
m = float(input())

b = 2*a + 1
c = 2*a - 2 - 2*m

delta = b*b - 4*a*c

if delta > 0:
    x1 = (-b + math.sqrt(delta))/2
    x2 = (-b - math.sqrt(delta))/2
    print('Pt co 2 nghiem phan biet: x1 = {q}, x2 = {w}'.format(q=x1, w=x2))
if delta == 0:
    x = -b/2
    print('Pt co 2 nghiem kep: x1 = x2 = {w}'.format(w=x))
if delta < 0:
    print('pt vo nghiem')
 
  • Like
Reactions: Elishuchi

Elishuchi

Cựu Mod Vật lí
Thành viên
13 Tháng mười 2015
2,240
2,921
479
Thanh Hoá
github.com
Thanh Hóa
✎﹏ ๖ۣۜTHPT❄๖ۣۜTriệu❄๖ۣۜSơn❄④ღ
Code của em như thế này nhưng nó vẫn còn lỗi khi pt có nghiệm kép bằng 0 thì nó sẽ in ra là -0.0
Mã:
import math

a = float(input())
m = float(input())

b = 2*a + 1
c = 2*a - 2 - 2*m

delta = b*b - 4*a*c

if delta > 0:
    x1 = (-b + math.sqrt(delta))/2
    x2 = (-b - math.sqrt(delta))/2
    print('Pt co 2 nghiem phan biet: x1 = {q}, x2 = {w}'.format(q=x1, w=x2))
if delta == 0:
    x = -b/2
    print('Pt co 2 nghiem kep: x1 = x2 = {w}'.format(w=x))
if delta < 0:
    print('pt vo nghiem')
có hàm nào trong python làm tròn số thập phân không em?
 
Top Bottom