Trong phần này chúng ta sẽ xem cách lấy độ chênh tuyệt đối giữa tổng của các nghiệm và tích của các nghiệm của một phương trình bậc 4?
Phương trình bậc 4 giống như ax⁴+bx³+cx²+dx+e
Chúng ta có thể giải phương trình và sau đó lấy tổng và tích của các nghiệm bằng một số quy trình bình thường, nhưng điều đó tốn nhiều thời gian và cách tiếp cận đó không hiệu quả. Trong loại phương trình này, chúng ta có hai công thức. Tổng các nghiệm luôn là -b/a và tích các nghiệm luôn là e/a. Vì vậy chúng ta chỉ phải tìm giá trị | -b/a - e/a |
Thuật toán
rootSumProdDiff(a, b, c, d, e)
begin sum := -b/a prod := e/a return |sum - prod| end
Ví dụ
#include<iostream>
#include<cmath>
using namespace std;
double rootSumProdDiff(double a, double b, double c, double d, double e){
double sum = double(-b/a);
double prod = double(e/a);
return abs(sum - prod);
}
main() {
double a,b,c,d,e;
cout << "Enter a, b, c, d, e for equation ax^4 + bx^3 + cx^2 + dx + e:";
cin >> a >> b >> c >> d >> e;
cout << "Difference between sum and product of roots are: " << rootSumProdDiff(a, b, c, d, e);
}Kết quả
Enter a, b, c, d, e for equation ax^4 + bx^3 + cx^2 + dx + e:8 4 6 4 1 Difference between sum and product of roots are: 0.625