Tính nghiệm của phương trình bậc hai trong JavaScript
Chúng ta cần viết một hàm JavaScript nhận vào ba số (đại diện cho hệ số của hạng tử bậc hai, hệ số của hạng tử bậc nhất và hằng số tương ứng trong một phương trình bậc hai).
Và chúng ta cần tìm các nghiệm (nếu chúng là nghiệm thực), ngược lại chúng ta phải trả về false.
Ví dụ
Mã thực hiện như sau:
const coeff = [1, 12, 3];
const findRoots = co => {
const [a, b, c] = co;
const discriminant = (b * b) - 4 * a * c;
// nghiệm không thực
if(discriminant < 0){
return false;
};
const d = Math.sqrt(discriminant);
const x1 = (d - b) / (2 * a);
const x2 = ((d + b) * -1) / (2 * a);
return [x1, x2];
};
console.log(findRoots(coeff));
Đầu ra
Kết quả trong console:
[ -0.2554373534619714, -11.744562646538029 ]