আমাদের একটি স্ট্রিং str[] এবং একটি সংখ্যা n দেওয়া হয়েছে। লক্ষ্য হল str[] এর সমস্ত সাবস্ট্রিং খুঁজে বের করা যার দৈর্ঘ্য n আছে। যদি স্ট্রিং হয় “abcde” এবং n=3 তাহলে দৈর্ঘ্য 3 এর সাবস্ট্রিং হল “abc”, “bcd”, “cde” এবং গণনা হল 3।
আসুন উদাহরণ দিয়ে বুঝতে পারি।
ইনপুট − str[] =“কম্পিউটার” n=4
আউটপুট − প্রদত্ত স্ট্রিং থেকে n দৈর্ঘ্যের সাবস্ট্রিংগুলির সংখ্যা হল −5
ব্যাখ্যা − দৈর্ঘ্য 4 সহ সাবস্ট্রিংগুলি হল:“comp”, “ompu”,”mput”, “pute”, “uter”
ইনপুট − str[] =“উন্নয়ন” n=5
আউটপুট − প্রদত্ত স্ট্রিং থেকে n দৈর্ঘ্যের সাবস্ট্রিংগুলির সংখ্যা হল −7
ব্যাখ্যা − দৈর্ঘ্য 5 সহ সাবস্ট্রিংগুলি হল:“devel”, “evelo”, “velop”, “elopm”, “lopme”, “opmen”, “pment”।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
যদি আমরা স্ট্রিং str[] এর দৈর্ঘ্যকে L হিসাবে নিই তাহলে str[] এর ভিতরে n দৈর্ঘ্যের সাবস্ট্রিংগুলির গণনা হবে Ln+1। যদি স্ট্রিং হয় “abcdefghi” এবং n হয় 4 তাহলে সাবস্ট্রিং হবে “abcd”, “bcde”, “cdef”, “defg”, “efgh”, “fghi”। গণনা হল 6। এছাড়াও 9-4+1=6।
-
একটি স্ট্রিং স্ট্রিং নিন।
-
n কে পূর্ণসংখ্যা হিসাবে নিন।
-
ফাংশন possible_substring(string str, int length, int n) একটি স্ট্রিং নেয়, এটির দৈর্ঘ্য, n এবং দৈর্ঘ্য n সহ str এর সাবস্ট্রিংগুলির গণনা প্রদান করে।
-
একটি পরিবর্তনশীল গণনা নিন।
-
সেট গণনা =দৈর্ঘ্য-n+1।
-
শেষে ফলাফল হিসাবে রিটার্ন গণনা।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int possible_substring(string str, int length, int n){ int count = length - n + 1; return count; } int main(){ string str = "learning"; int length = str.length(); int n = 2; cout<<"Count of substrings of length n possible from the given string are: "<<possible_substring(str, length, n); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of substrings of length n possible from the given string are: 7