Giải phương trình bậc 2 là một trong những dạng toán phổ biến ở bậc phổ thông chúng ta thường xuyên gặp phải. Tuy nhiên đã học IT, và tập tành code rồi thì sao không thử viết một chương trình giải phương trình bậc 2 nào?
Phương trình bậc 2 là gì?
Phương trình bậc hai là phương trình có dạng: ax2 + bx + c = 0
Xới x là ẩn số cần tìm và a, b, c là các số đã cho sao cho a khác 0. Các số a, b, và c là những hệ số của phương trình và có thể phân biệt bằng cách gọi tương ứng hệ số bậc hai, hệ số bậc một, và hằng số hay số hạng tự do.
Cách giải phương trình bậc 2
Để giải phương trình bậc 2, trước tiên chúng ta cần tính Delta = b*b-4*a*c
Sau đó xét điều kiện cho Delta:
- Nếu Delta < 0 thì phương trình vô nghiệm.
- Nếu Delta = 0 thì phương trình có 1 nghiệm được tính bằng cách: x1 = x2 = -b / 2 * a.
- Nếu Delta > 0 thì phương trình có hai nghiệm phân biệt là
- x1 = (-b + Math.sqrt(delta)) / (2 * a).
- x2 = (-b – Math.sqrt(delta)) / (2 * a).
package fa.training.main; import java.util.Scanner; public class Test { public static void main(String[] args) { double a, b, c, x1, x2, delta; Scanner scanner = new Scanner(System.in); System.out.print("Nhập a (a # 0): "); a = scanner.nextDouble(); System.out.print("Nhập b: "); b = scanner.nextDouble(); System.out.print("Nhập c: "); c = scanner.nextDouble(); System.out.println("Phương trình bậc hai bạn vừa nhập có dạng: " + a + "x^2 + " + b + "x + " + c + " = 0"); delta = Math.pow(b, 2) - 4 * a * c; if (delta < 0) { System.out.println("Phương trình vô nghiệm!"); } else if (delta == 0) { x1 = -b / (2 * a); System.out.println("Phương trinh có 1 nghiệm là x1 = x2 = " + x1); } else { x1 = (-b + Math.sqrt(delta)) / (2 * a); x2 = (-b - Math.sqrt(delta)) / (2 * a); System.out.println("Phương trình có 2 nghiệm x1 = " + x1 + " và x2 = " + x2); } } }
Output
Nhập a (a # 0): 2 Nhập b: 1 Nhập c: -1 Phương trình bậc hai bạn vừa nhập có dạng: 2.0x^2 + 1.0x + -1.0 = 0 Phương trình có 2 nghiệm x1 = 0.5 và x2 = -1.0