কম্পিউটার টিউটোরিয়াল

C++-এ n ক্যারেক্টারের সেট থেকে দৈর্ঘ্য k-এর সব সম্ভাব্য স্ট্রিং প্রিন্ট করা


এই সমস্যায়, আমাদের একটি ক্যারেক্টার সেট এবং একটি পজিটিভ ইন্টিজার k দেওয়া আছে এবং আমাদের সেটের ক্যারেক্টারগুলো ব্যবহার করে দৈর্ঘ্য k-এর সব সম্ভাব্য স্ট্রিং প্রিন্ট করতে হবে।

একটি উদাহরণ নিয়ে সমস্যাটি ভালোভাবে বুঝতে চাই −

Input: set = {‘x’, ‘y’, ‘z’} , k = 2 Output: xy, xz, yz

এই সমস্যা সমাধানের জন্য, আমাদের সব সম্ভাব্য সিকোয়েন্স বের করতে হবে যা জেনারেট করা যায়। n আকারের সেটের জন্য, দৈর্ঘ্য k-এর সম্ভাব্য স্ট্রিংগুলোর মোট সংখ্যা হবে nk (n^k)। আমরা একটি রিকারসিভ কল ব্যবহার করব স্ট্রিং জেনারেট করার জন্য যা খালি স্ট্রিং থেকে শুরু হবে এবং ক্যারেক্টার বাই ক্যারেক্টার যোগ করবে।

উদাহরণ

#include <bits/stdc++.h> using namespace std; void printKLengthString(char set[], string sequence, int n, int k) {    if (k == 0){       cout<<sequence<<"\t";       return;    }    for (int i = 0; i < n; i++){       string newSequence;       newSequence=sequence+set[i];       printKLengthString(set, newSequence, n, k - 1);    } } int main() {    char set[] = {'a', 'b'};    int n = 2;    int k = 3;    printKLengthString(set, "", n, k); }

আউটপুট

aaa aab aba abb baa bab bba bbb

  1. C++-এ লিফ নোড থেকে দূরত্ব k-এ থাকা সব নোড প্রিন্ট করা

  2. ফোন ডিজিট থেকে সম্ভাব্য সব শব্দ প্রিন্ট করা C++-তে

  3. নির্দিষ্ট দৈর্ঘ্যের সব সিকোয়েন্স প্রিন্ট করা C++-তে

  4. C++-এ ক্যারেক্টার অ্যারে থেকে বৈধ শব্দগুলো প্রিন্ট করুন (Trie ব্যবহার করে)