ইনপুট হিসাবে সংখ্যার একটি অ্যারে এবং একটি পূর্ণসংখ্যা x দেওয়া হয়েছে। লক্ষ্য হল arr[] এর সমস্ত উপসেট খুঁজে বের করা যাতে সেই সেটের পৃথক উপাদানের পাশাপাশি তাদের যোগফল x দ্বারা সম্পূর্ণরূপে বিভাজ্য হয়।
উদাহরণস্বরূপ
ইনপুট
arr[] = {1,2,3,4,5,6} x=3 আউটপুট
Count of subsets that satisfy the given condition :3
ব্যাখ্যা
The subsets will be: [3], [6], [3,6]
ইনপুট
arr[] = {1,2,3,4,5,6} x=4 আউটপুট
Count of subsets that satisfy the given condition :1
ব্যাখ্যা
The subsets will be: [4]
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি −
এই পদ্ধতিতে আমরা arr[] এর উপাদানগুলি গণনা করব যেগুলি x দ্বারা সম্পূর্ণরূপে বিভাজ্য এবং তারপরে 2 count ফেরত দেবে। −1 উপসেটের প্রয়োজনীয় সংখ্যক হিসাবে।
-
একটি পূর্ণসংখ্যা অ্যারে অ্যার[] নিন।
-
ইনপুট হিসাবে x নিন।
-
ফাংশন গণনা(int arr[], int n, int x) একটি অ্যারে এবং x নেয় এবং প্রদত্ত শর্ত পূরণ করে এমন উপসেটের গণনা প্রদান করে।
-
যদি x 1 হয় তবে এটি সমস্ত উপাদানকে ভাগ করে, তাই ফিরে আসুন
উদাহরণ
#include <bits/stdc++.h>
#define ll long long int
using namespace std;
int sub_sets(int arr[], int size, int val){
int count = 0;
if (val == 1){
count = pow(2, size) − 1;
return count;
}
for (int i = 0; i < size; i++){
if (arr[i] % val == 0){
count++;
}
}
count = pow(2, count) − 1;
return count;
}
int main(){
int arr[] = { 4, 6, 1, 3, 8, 10, 12 }, val = 4;
int size = sizeof(arr) / sizeof(arr[0]);
cout<<"Count of sub−sets that satisfy the given condition are: "<<sub_sets(arr, size, val);
return 0;
} আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of sub−sets that satisfy the given condition are: 7