Computer >> Máy Tính >  >> Lập trình >> lập trình C

Sự khác biệt tuyệt đối giữa tổng và tích của các nghiệm thức của một phương trình bậc hai?

Trong phần này, chúng ta sẽ xem làm thế nào để có được sự khác biệt tuyệt đối giữa tổng của các căn và các tích của căn của một phương trình bậc hai?

Phương trình tứ phân giống như 𝑎𝑥 4 + 𝑏𝑥 3 + 𝑐𝑥 2 + 𝑑𝑥 + 𝑒

Chúng ta có thể giải phương trình và sau đó cố gắng lấy tích và tổng của các nghiệm nguyên bằng một quy trình bình thường nào đó, nhưng điều đó mất nhiều thời gian và cách làm đó 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ủa các gốc luôn là −𝑏 ∕ 𝑎 và tích của các gốc luôn là 𝑒 ∕ 𝑎. Vì vậy, chúng ta chỉ phải tìm giá trị củ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);
}

Đầu ra

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