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

C++ দিয়ে সমীকরণের সমাধানের সংখ্যা বের করা


এই সমস্যাতে, আমাদের তিনটি ইন্টিজার মান A, B, C দেওয়া আছে। আমাদের কাজ হল দেওয়া সমীকরণের সমাধানের সংখ্যা বের করা।

সমীকরণ

X = B*Sm(X)^A + C

যেখানে Sm(X) হল X-এর ডিজিটগুলোর যোগফল।

আমাদের X-এর সব সমাধান কাউন্ট করতে হবে যা উপরের সমীকরণ সन्तুষ্ট করে, যেখানে X হতে পারে ১ থেকে 109 পর্যন্ত যেকোনো সংখ্যা।

উদাহরণ দেখি:

ইনপুট

A = 3, B = 6, C = 4

আউটপুট

3

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

সমাধান বের করার একটি পদ্ধতি হল X-এর মানগুলো কাউন্ট করা। এর জন্য ডিজিট সাম গুরুত্বপূর্ণ। সর্বোচ্চ ডিজিট সাম হল ৮১ (৯৯৯৯৯৯৯৯৯-এর জন্য)। এবং প্রতিটি ডিজিট সামের জন্য সমীকরণের একটি সমাধান পাওয়া যায়।

আমরা ১ থেকে ৮১ পর্যন্ত ডিজিট সামের জন্য সমাধান কাউন্ট করব।

উদাহরণ

#include <bits/stdc++.h> using namespace std; int countSolutions(int a, int b, int c){    int solutionCount = 0;    for (int digSum = 1; digSum <= 81; digSum++) {       int solVal = b * pow(digSum, a) + c;       int temp = solVal;       int sum = 0;       while (temp) {          sum += temp % 10;          temp /= 10;       }       if (sum == digSum && solVal < 1e9)          solutionCount++;    }    return solutionCount; } int main(){    int a = 3, b = 6, c = 4;    cout<<"The number of solutions of the equations is "<<countSolutions(a, b, c);    return 0; }

আউটপুট

The number of solutions of the equations is 3

  1. C++ প্রোগ্রাম: গ্রাফে ব্রিজ এজের সংখ্যা নির্ণয়

  2. দেওয়া পার্থক্যের সাথে একটি জোড়া খুঁজে বের করা C++-এ

  3. LCM এবং HCF দিয়ে অন্য সংখ্যা বের করা (C++)

  4. C++ প্রোগ্রাম: স্ট্রিংয়ের পারমুটেশন সংখ্যা বের করা