Ngôn ngữ Python - Giải phương trình bậc 2
Giải phương trình bậc 2 trong Python
Đề bài
Viết chương trình giải phương trình bậc 2 trong C. Phương trình bậc 2 có dạng:
AX2 + BX + C = 0
Lời giải
Khi bạn đang đọc bài này thì phương trình bậc 2 là một bài kinh điển mà chắc chắn bạn đã được học và có cách giải phải không?
Hãy xem code mẫu sau để biết cách giải phương trình bậc 2 trong Python:
Ví dụ này được viết trên PyCharm.
Code mẫu:
import math
"""
# Giải phương trình bậc 2: ax2 + bx + c = 0
# @param a: hệ số bậc 2
# @param b: hệ số bậc 1
# @param c: số hạng tự do
"""
def giaiPTBac2(a, b, c):
# kiểm tra các hệ số
if (a == 0):
if (b == 0):
print ("Phương trình vô nghiệm!");
else:
print ("Phương trình có một nghiệm: x = ", + (-c / b));
return;
# tính delta
delta = b * b - 4 * a * c;
# tính nghiệm
if (delta > 0):
x1 = (float)((-b + math.sqrt(delta)) / (2 * a));
x2 = (float)((-b - math.sqrt(delta)) / (2 * a));
print ("Phương trình có 2 nghiệm là: x1 = ", x1, " và x2 = ", x2);
elif (delta == 0):
x1 = (-b / (2 * a));
print("Phương trình có nghiệm kép: x1 = x2 = ", x1);
else:
print("Phương trình vô nghiệm!");
# Nhập các hệ số
a = float(input("Nhập hệ số bậc 2, a = "));
b = float(input("Nhập hệ số bậc 1, b = "));
c = float(input("Nhập hằng số tự do, c = "));
# Gọi hàm giải phương trình bậc 2
giaiPTBac2(a, b, c)
Kết quả:
Nhập hệ số bậc 2, a = 2
Nhập hệ số bậc 1, b = 1
Nhập hằng số tự do, c = -1
Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0
Trong ví dụ trên, hàm math.sqrt(a) được sử dụng để tính căn bậc 2 của a. Hàm input() được sử dụng để nhập dữ liệu từ bàn phím.