এখানে আমরা দেখব কিভাবে একটি প্রদত্ত সেটের সমস্ত স্বতন্ত্র উপসেট প্রদর্শন করা যায়। সুতরাং যদি সেটটি হয় {1, 2, 3}, তাহলে উপসেটগুলি হবে {}, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3} , {1, 2, 3}। সকল উপসেটের সেটকে পাওয়ার সেট বলে। পাওয়ার সেটে 2n উপাদান রয়েছে৷
আমরা 0 থেকে 2n (বাদ দিয়ে) লুপ করব, প্রতিটি পুনরাবৃত্তিতে আমরা বর্তমান কাউন্টারে ith বিট সেট করা আছে কিনা তা পরীক্ষা করব, তারপর ith উপাদান প্রিন্ট করব।
উদাহরণ
#include<iostream> #include<cmath> using namespace std; void showPowerSet(char *set, int set_length) { unsigned int size = pow(2, set_length); for(int counter = 0; counter < size; counter++) { cout << "{"; for(int j = 0; j < size; j++) { if(counter & (1<<j)) cout << set[j] << " "; } cout << "}" << endl; } } int main() { char set[] = {'a','b','c'}; showPowerSet(set, 3); }
আউটপুট
{} {a } {b } {a b } {c } {a c } {b c } {a b c }