Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Độ chênh tuyệt đối giữa tổng và tích nghiệm của phương trình bậc 4

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