এই সমস্যায়, আমাদেরকে 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) )
সুতরাং, বৈষম্যকারীর মান দ্বিঘাত সমীকরণের মূলের সংখ্যা দেয়।
-
যদি 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