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

Chương trình tìm số nghiệm trong Phương trình bậc hai trong C ++

Trong bài toán này, chúng ta được đưa ra một phương trình bậc hai loại ax2 + bx + c, trong đó a, b và c là các hằng số. Nhiệm vụ của chúng tôi là tạo một chương trình để tìm số nghiệm của Phương trình bậc hai trong C ++.

Mô tả sự cố - Ở đây, chúng ta cần tìm số nghiệm của một phương trình bậc hai mà có thể có tối đa 2 nghiệm.

Hãy lấy một vài ví dụ để hiểu vấn đề,

Ví dụ 1:

Đầu vào - 3x 2 + 7x + 4

Đầu ra - 2

Giải thích - hai nghiệm của phương trình là 1 và 4/3.

Ví dụ 2:

Đầu vào - x 2 - 4x + 4

Đầu ra - 1

Giải thích - Nghiệm của phương trình là 2.

Đầu vào - 2 lần 2 + 2x + 2

Đầu ra - 0

Giải thích:Không có nghiệm cho phương trình.

Phương pháp tiếp cận giải pháp:

Để tìm số nghiệm, chúng ta cần tính chất của nghiệm của phương trình bậc hai sử dụng giá trị của phân biệt (D).

Các nghiệm nguyên của phương trình được đưa ra bởi công thức,

= −𝑏 ± √𝑏.
D = ( (b^2) - (4*a*c) )

Vì vậy, giá trị của số phân biệt cung cấp số nghiệm của phương trình bậc hai.

  • Nếu D =0 thì số nghiệm là 1.

  • Nếu D> 0, số nghiệm là 2.

  • Nếu D <0, số nghiệm là 0. Vì giá trị của căn số âm là ảo.

Thuật toán:

  • Bước 1 - tìm giá trị của D, D =((b ^ 2) - 4 * a * c).

  • Bước 2 - if (D> 0), in ra 2 nghiệm

  • Bước 3 - if (D =0), in ra 1 nghiệm

  • Bước 4 - if (D <0), in ra 0 nghiệm

Ví dụ

#include <iostream>
using namespace std;
int checkSolution(int a, int b, int c) {
   if (((b * b) - (4 * a * c)) > 0)
      return 2;
   else if (((b * b) - (4 * a * c)) == 0)
      return 1;
   else
      return 0;
}
int main() {
   int a = 2, b = 2, c = 3;
   cout<<"The quadratic equation is "<<a<<"x^2 + "<<b<<"x +
   "<<c<<" has ";
   cout<<checkSolution(a, b, c)<<" solutions ";
   return 0;
}

Đầu ra:

The quadratic equation is 2x^2 + 2x + 3 has 0 solutions