কম্পিউটার টিউটোরিয়াল

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

এই সমস্যায়, আমাদের n ভেরিয়েবল ওয়ালা একটি লিনিয়ার সমীকরণ দেওয়া আছে নিচের ফর্মে:

coeff1(var1) + coeff2(var2) + … + coeffn(varn) = value

n ভেরিয়েবল ওয়ালা লিনিয়ার সমীকরণের সমাধানের সংখ্যা বের করতে হবে।

উদাহরণ

ইনপুট

coeff[] = {3, 1}, value = 4

আউটপুট

1

ব্যাখ্যা

সমীকরণ: 3x + y = 4. সমাধান, x = 0, y = 4.

সমাধানের পদ্ধতি

এই সমস্যার সহজ সমাধান হল সমীকরণের মান ইভ্যালুয়েট করা। তারপর রিকারসিভ কল দিয়ে মান আপডেট করা। যদি মান ০ হয়, তবে সমাধান কাউন্ট ১। অন্যথায় কোইফিশিয়েন্ট মান বিয়োগ করে রিকার্সন চালাতে হবে।

প্রোগ্রাম উদাহরণ

#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++-এ স্টার নম্বর (Star Number) বের করা

  2. C++-এ দ্বিঘাত সমীকরণের সমাধানের সংখ্যা (Number of Solutions) বের করার প্রোগ্রাম

  3. N পর্যন্ত লগ মান বের করতে ন্যূনতম লগ ভ্যালুর সংখ্যা বের করা C++-তে

  4. সি++ প্রোগ্রাম: সংখ্যার সবচেয়ে významপূর্ণ সেট বিট (MSB) নির্ণয়