কম্পিউটার

প্যালিনড্রোম সাবস্ট্রিং সহ স্ট্রিং খুঁজে পেতে C++ প্রোগ্রাম যার দৈর্ঘ্য সর্বাধিক k


ধরুন আমাদের দুটি সংখ্যা n এবং k আছে। আসুন আমরা একটি স্ট্রিং S তৈরি করার চেষ্টা করছি মাত্র তিন ধরনের অক্ষর 'a', 'b' এবং 'c' দিয়ে। স্ট্রিং S এর একটি সাবস্ট্রিং এর সর্বাধিক দৈর্ঘ্য যা একটি প্যালিনড্রোম যা k এর বেশি নয়।

সুতরাং, যদি ইনপুট n =3 এর মত হয়; k =2, তাহলে আউটপুট হবে "aab", কারণ এর দৈর্ঘ্য 3 এবং প্যালিনড্রোম সাবস্ট্রিংটি "aa" যার দৈর্ঘ্য কমপক্ষে 2। (অন্যান্য উত্তরগুলিও সম্ভব)।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

S := a blank string
j := 0
for initialize i := 0, when i < n, update (increase i by 1), do:
   S := S concatenate (j + ASCII of 'a') as character
   j := (j + 1) mod 3
return S

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

string solve(int n, int k) {
   string S = "";
   int j = 0;
   for (int i = 0; i < n; i++) {
      S += j + 'a';
      j = (j + 1) % 3;
   }
   return S;
}
int main() {
   int n = 3;
   int k = 2;
   cout << solve(n, k) << endl;
}

ইনপুট

3, 2

আউটপুট

abc

  1. সাবস্ট্রিংকে অন্য সাবস্ট্রিং C++ দিয়ে প্রতিস্থাপন করুন

  2. একটি স্ট্রিং এর দৈর্ঘ্য খুঁজে বের করার জন্য C++ প্রোগ্রাম

  3. পাইথনে প্যালিনড্রোম ছাড়াই m আকারের বর্ণমালা থেকে বর্ণের এন দৈর্ঘ্যের স্ট্রিং খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে একটি স্ট্রিংয়ে দীর্ঘতম পুনরাবৃত্তিকারী সাবস্ট্রিংয়ের দৈর্ঘ্য খুঁজে বের করার প্রোগ্রাম