इस समस्या में, हमें ax2 + bx + c प्रकार का द्विघात समीकरण दिया गया है, जहाँ a, b और 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) )
इसलिए, विवेचक का मान द्विघात समीकरण के मूलों की संख्या देता है।
-
यदि डी =0, समाधानों की संख्या 1 है।
-
अगर डी> 0, समाधानों की संख्या 2 है।
-
यदि D <0 है, तो समाधानों की संख्या 0 है। चूंकि ऋणात्मक संख्या के मूल का मान काल्पनिक होता है।
एल्गोरिदम:
-
चरण 1 - D, D =((b^2) - 4*a*c) का मान ज्ञात कीजिए।
-
चरण 2 - अगर(डी> 0), 2 समाधान प्रिंट करें
-
चरण 3 - अगर (डी =0), 1 समाधान प्रिंट करें
-
चरण 4 - अगर (डी <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