কম্পিউটার

C++ এ স্বতন্ত্র জোড় সংখ্যা বিশিষ্ট উপসেট গণনা করুন


আমরা ধনাত্মক পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়. লক্ষ্য হল একটি অ্যারেতে সংখ্যার উপসেটগুলি খুঁজে বের করা যাতে প্রতিটি উপসেটের মধ্যে আলাদা জোড় সংখ্যা থাকে। একই উপাদান সহ সমস্ত সেট 1 হিসাবে গণনা করা হবে। [2,4,6] এবং [6,2,4] একই সেট।

আসুন উদাহরণ দিয়ে বুঝতে পারি

ইনপুট − arr[] ={1,3,5,7,8,3,2 };

আউটপুট −3

স্বতন্ত্র জোড় সংখ্যা বিশিষ্ট উপসেটের সংখ্যা

ব্যাখ্যা − উপসেটগুলি হবে − [2], [8], [2,8]

ইনপুট − arr[] ={2,4,6};

আউটপুট −স্বতন্ত্র জোড় সংখ্যা বিশিষ্ট উপসেটের সংখ্যা হল −7

ব্যাখ্যা − উপসেটগুলি হবে − [2], [4], [6], [2,4], [2,6], [4,6], [2,4,6]

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ

আমরা অ্যারের সমস্ত জোড় সংখ্যার একটি সেট তৈরি করি। এটি স্বতন্ত্র জোড় সংখ্যার গণনা দেয়। সূত্রটি হবে 2 সম গণনা - 1

  • সংখ্যার একটি অ্যারে নিন arr[]।

  • Functionsubset_even(int arr[], int size) সংখ্যার একটি অ্যারে নেয় এবং স্বতন্ত্র জোড় সংখ্যা সহ উপসেটগুলি প্রদান করে৷

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

  • জোড় সংখ্যার জন্য একটি unordered_set un_set তৈরি করুন।

  • ট্রাভার্স arr[] লুপ ব্যবহার করে। i=0 থেকে i<দৈর্ঘ্য।

  • যদি arr[i]%2==0, এটি সমান হয়। আন_সেট করতে ঢোকান।

  • count=un_set.size() // স্বতন্ত্র জোড় সংখ্যা নিন।

  • আপডেট গণনা =pow(2,গণনা) - 1.

  • ফলাফল হিসাবে রিটার্ন গণনা।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int subset_even(int arr[], int size){
   int count = 0;
   unordered_set<int> un_set;
   for(int i=0; i<size; i++){
      if (arr[i] % 2 == 0){
         un_set.insert(arr[i]);
      }
   }
   unordered_set<int>:: iterator i;
   count = un_set.size();
   count = pow(2, count) - 1;
   return count;
}
int main(){
   int arr[] = {10, 4, 21, 3, 5, 7, 6, 8};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of subsets having distinct even numbers are: "<<subset_even(arr, size);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Count of subsets having distinct even numbers are: 15

  1. C++ এ অনন্য সংখ্যার সাথে সংখ্যা গণনা করুন

  2. C++ এ সর্বাধিক সংলগ্ন জোড় সংখ্যার গণনা খুঁজুন

  3. C++ এ একটি সাজানো অ্যারেতে পরম স্বতন্ত্র গণনা?

  4. C++ এ উভয় পাশে জোড় বা বিজোড় সংখ্যার একই গণনা সহ অ্যারে সূচক