이 문제에서 a,b 및 c가 상수인 ax2 + bx + c 유형의 이차 방정식이 제공됩니다. 우리의 임무는 C++의 이차 방정식에서 솔루션의 수를 찾는 프로그램을 만드는 것입니다.
문제 설명 − 여기에서 최대 2개의 해를 가질 수 있는 이차 방정식의 해의 수를 찾아야 합니다.
문제를 이해하기 위해 몇 가지 예를 들어보겠습니다.
예시 1:
입력 − 3x 2 + 7x + 4
출력 - 2
설명 - 방정식의 두 해는 1과 4/3입니다.
예시 2:
입력 − x 2 - 4x + 4
출력 − 1
설명 - 방정식의 해는 2입니다.
입력 − 2x 2 + 2x + 2
출력 - 0
설명:방정식에는 해가 없습니다.
해결 방법:
해의 개수를 구하려면 판별식(D)의 값을 사용하여 구하는 이차 방정식의 해의 성질이 필요합니다.
방정식의 근은 공식으로 제공됩니다.
= −𝑏 ± √𝑏. D = ( (b^2) - (4*a*c) )
따라서 판별식의 값은 이차 방정식의 근의 수를 나타냅니다.
-
D =0인 경우 솔루션의 수는 1입니다.
-
D> 0인 경우 솔루션의 수는 2입니다.
-
D <0이면 해의 개수는 0입니다. 음수의 근의 값은 허수이므로
알고리즘:
-
1단계 − D, D =((b^2) - 4*a*c)의 값을 찾습니다.
-
2단계 - if(D> 0)인 경우 2개의 솔루션을 출력합니다.
-
3단계 - if(D =0)인 경우 1개의 솔루션을 출력합니다.
-
4단계 - if(D <0), 0 솔루션을 출력
예
#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; }
출력:
The quadratic equation is 2x^2 + 2x + 3 has 0 solutions