কম্পিউটার

C++ এ n ভেরিয়েবলের রৈখিক সমীকরণের সমাধানের সংখ্যা খুঁজুন


এই সমস্যায়, আমাদের ফর্মের জন্য 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

  1. C++ এ স্টার নম্বর খোঁজার প্রোগ্রাম

  2. C++ এ দ্বিঘাত সমীকরণে সমাধানের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. C++ এ N পর্যন্ত লগ গণনা করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক লগ মান খুঁজুন

  4. C++ এ একটি সংখ্যার সবচেয়ে উল্লেখযোগ্য সেট বিট খুঁজুন