এই সমস্যায়, আমাদের ফর্মের জন্য n ভেরিয়েবলের একটি রৈখিক সমীকরণ দেওয়া হয়েছে,
coeff1(var1) + coeff2(var2) + … + coeffn(varn) = value
n ভেরিয়েবলের একটি রৈখিক সমীকরণের সমাধানের সংখ্যা খুঁজুন।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
coeff[] = {3, 1}, value = 4
আউটপুট
1
ব্যাখ্যা
Equation : 3x + y = 4. Solution, x = 0, y = 4.
সমাধান পদ্ধতি
সমীকরণের মান মূল্যায়ন করে সমস্যার একটি সহজ সমাধান। তারপরে বারবার কল করে মান আপডেট করুন। যদি মান 0 হয়, তাহলে সমাধান গণনা 1 হয়। অন্যথায় coeff মান বিয়োগ করে মানের সাথে পুনরাবৃত্তি হয়।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include<iostream> using namespace std; int countSolutionsEq(int coeff[], int start, int end, int value) { if (value == 0) return 1; int coefCount = 0; for (int i = start; i <= end; i++) if (coeff[i] <= value) coefCount += countSolutionsEq(coeff, i, end, value - coeff[i]); return coefCount; } int main() { int coeff[] = {3, 5, 1, 2}; int value = 6; int n = sizeof(coeff) / sizeof(coeff[0]); cout<<"The number of solutions of the linear equation is "<<countSolutionsEq(coeff, 0, n - 1, value); return 0; }
আউটপুট
The number of solutions of the linear equation is 8