কম্পিউটার

n ধনাত্মক পূর্ণসংখ্যা খুঁজুন যা C++ এ প্রদত্ত সমীকরণগুলিকে সন্তুষ্ট করে


এই সমস্যায়, আমাদেরকে A, B এবং N তিনটি মান দেওয়া হয়েছে। আমাদের কাজ হল n ধনাত্মক পূর্ণসংখ্যা খুঁজে বের করা যা প্রদত্ত সমীকরণগুলিকে সন্তুষ্ট করে।

সমস্যা বর্ণনা − আমাদের N ধনাত্মক মানগুলি খুঁজে বের করতে হবে যা উভয় সমীকরণকে সন্তুষ্ট করে,

x12 + x22 + … xn2 ≥ A
x1 + x2 + … xn ≤ B

উপস্থিত থাকলে n মান প্রিন্ট করুন, অন্যথায় -1 প্রিন্ট করুন।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 4, A = 65, B = 16

আউটপুট

1 1 1 8

ব্যাখ্যা

সমীকরণগুলো হল −

12 + 12 + 12 + 82 = 1 + 1 + 1 + 64 = 67 ≥ 65
1 + 1 + 1 + 8 = 11 < 16

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

সমস্যার একটি সহজ সমাধান হল বর্গ যোগফল সর্বাধিক করা। ধারণাটি হল একটি সংখ্যাকে প্রাথমিক সংখ্যা হিসাবে ব্যবহার করে বর্গ যোগফল সর্বাধিক করা এবং অন্যটি 1 হিসাবে ব্যবহার করা। এইভাবে এটি ব্যবহার করে আমরা বর্গ যোগফলকে সর্বাধিক করতে পারি এবং যোগফলের শর্ত পূরণ করতে পারি।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void findNintegers(int N, int A, int B) {
   vector<int> numbers;
   for (int i = 0; i < N - 1; i++)
      numbers.push_back(1);
   if (B - (N - 1) <= 0) {
      cout << "-1";
      return;
   }
   numbers.push_back(B - (N - 1));
   int vals = 0;
   for (int i = 0; i < N; i++)
      vals += numbers[i] * numbers[i];
   if (vals < A) {
      cout << "-1";
      return;
   }
   for (int i = 0; i < N; i++)
      cout << numbers[i] << " ";
}
int main(){
   int N = 4, A = 65, B = 17;
   cout<<N<<" positive integers that satisfy the given equations are ";
   findNintegers(N, A, B);
   return 0;
}

আউটপুট

4 positive integers that satisfy the given equations are 1 1 1 14

  1. A এবং b সংখ্যাগুলি খুঁজুন যা C++ এ প্রদত্ত শর্ত পূরণ করে

  2. C++ এ একটি প্রদত্ত স্ট্রিং-এ “1(0+)1”-এর সমস্ত প্যাটার্ন খুঁজুন

  3. C++ এ প্রদত্ত প্রাইম দ্বারা nCr বিভাজ্য কিনা তা খুঁজুন

  4. একটি প্রদত্ত বিন্দু কভার করে এমন সেরা ফিট আয়তক্ষেত্র খুঁজে পেতে C++ প্রোগ্রাম