কম্পিউটার

জোড়া গণনা যখন একজন ব্যক্তি C++ এ সর্বাধিক একজনের সাথে জোড়া তৈরি করতে পারে


আমাদের N নম্বর দেওয়া হয়েছে। একটি কোডিং প্রতিযোগিতায় অংশগ্রহণকারীদের। লক্ষ্য নং খুঁজে. জোড়ার যেগুলি সম্ভব যখন একজন ব্যক্তি সর্বাধিক একজন অন্য ব্যক্তির সাথে জুটি বাঁধতে পারে। সুতরাং একটি জুটিতে সর্বাধিক 2 জন অংশগ্রহণকারী রয়েছে। অংশগ্রহণকারীদের একাও অংশ নেওয়ার অনুমতি দেওয়া হয়।

আমরা পুনরাবৃত্তি ব্যবহার করে এটি সমাধান করতে পারি যেখানে জোড়া=

  • গণনা=1 যখন n=0 বা 1 (শুধু একজন ব্যক্তি বাকি)

  • যদি ব্যক্তি অবিবাহিত থাকে n কমিয়ে n-1

    • এখন বাকি জুটির জন্য লোক বাকি =n-2

      count=makePairs(p-1) + (p-1)*makePairs(p-2);

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট - ব্যক্তি=3

আউটপুট − জোড়া তৈরি করার উপায় − 4

ব্যাখ্যা

If three persons are a,b,c then ways of pairing could be:
(a,b), (c) → c remained single
(a,c), (b) → b remained single
(b,c), (a) → a remained single
(a),(b),(c) → all remained single
Total ways = 4

ইনপুট - ব্যক্তি=2

আউটপুট − জোড়া তৈরি করার উপায় − 2

ব্যাখ্যা

I persons are a,b then ways of pairing could be −
(a,b) → both paired
(a),(b) → both remained single
Total ways = 2

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • অংশগ্রহণকারীদের সংখ্যা সঞ্চয় করার জন্য আমরা একটি পূর্ণসংখ্যা ব্যক্তি নিই।

  • ফাংশন makePairs(int p) no লাগে। ইনপুট হিসাবে ব্যক্তিদের এবং তারা নিজেদের জোড়া করতে পারে এমন উপায়গুলির গণনা প্রদান করে৷

  • 0 হিসাবে প্রাথমিক গণনা নিন।

  • যদি p=0 বা 1 হয় তাহলে একমাত্র উপায় হল 1 একা থাকার।

  • অন্য ব্যক্তি অবিবাহিত থাকতে বেছে নিতে পারেন, তারপর অবশিষ্ট (p-1) (p1)*makePairs(p-2) ব্যবহার করে জোড়া খুঁজে পাবেন।

  • গণনার চূড়ান্ত মান নম্বর হিসাবে ফেরত দেওয়া হয়। শেষে জোড়ার উপায়।

উদাহরণ

#include<iostream>
using namespace std;
int makePairs(int p){
   int count=0;
   // Base condition
   if (p==0 || p==1)
      { count=1; }
   else
      { count=makePairs(p-1) + (p-1)*makePairs(p-2); }
   return count;
}
int main(){
   int persons = 5;
   cout <<"Number of ways to make pair ( or remain single ):"<<makePairs(persons);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Number of ways to make pair ( or remain single ): 26

  1. C++-এ সর্বাধিক জল সহ ধারক

  2. C++ এ ক্ষুদ্রতম যোগফলের সাথে K জোড়া খুঁজুন

  3. কিভাবে C++ এ জোড়ার একটি unordered_map তৈরি করবেন?

  4. STL-এ পেয়ার বাস্তবায়নের জন্য C++ প্রোগ্রাম