কম্পিউটার

একটি প্যালিনড্রোমিক স্ট্রিং B খুঁজুন যেমন দেওয়া স্ট্রিং A হল C++-এ B-এর একটি অনুগামী


ধরুন আমাদের একটি স্ট্রিং A আছে, আমাদের আরেকটি স্ট্রিং B খুঁজে বের করতে হবে, সেটি হবে প্যালিনড্রোম। এবং প্রদত্ত স্ট্রিং A হবে B-এর পরবর্তী। একটি স্ট্রিং-এর পরবর্তী স্ট্রিং হল এমন একটি স্ট্রিং যা অবশিষ্ট অক্ষরের ক্রম পরিবর্তন না করে কিছু অক্ষর মুছে দিয়ে এটি দ্বারা গঠিত হতে পারে। ধরুন স্ট্রিংটি “cotst”, তাহলে জেনারেট করা স্ট্রিং হবে “প্রতিযোগিতা”। এই প্রোগ্রামের ইনপুটের জন্য আমরা A =“ab” বেছে নিয়েছি, জেনারেট করা স্ট্রিং হবে “abba”, এটা হল প্যালিনড্রোম।

এটি সমাধানের জন্য, আমরা এই পদ্ধতি অনুসরণ করব। এটি খুবই সহজ, আমরা A কে বিপরীত করব, তারপর A এর পরে বিপরীত অংশ যোগ করব এবং B গঠন করব। সুতরাং B =A + বিপরীত(A)

উদাহরণ

#include<iostream>
#include<algorithm>
using namespace std;
bool isPalindrome(string str) {
   string temp = str;
   reverse(str.begin(), str.end());
   return str == temp;
}
string formPalindromeStr(string A) {
   string B = A;
   reverse(A.begin(), A.end());
   A = A + B;
   if (isPalindrome(B))
      return B;
      return A;
}
string reverse(string input) {
   string temp = input;
   int left, right = 0;
   right = temp.length() - 1;
   for (left = 0; left < right; left++, right--)
   swap(temp[left], temp[right]);
   return temp;
}
int main(int argc, char const *argv[]) {
   string A = "Hello";
   cout << "The B is: " << formPalindromeStr(A);
}

আউটপুট

The B is: olleHHello

  1. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান

  2. প্রদত্ত পরিসরে একটি স্বতন্ত্র জোড়া (x, y) খুঁজুন যেমন x y কে C++ এ ভাগ করে

  3. একটি প্রদত্ত স্ট্রিং-এর পারমুটেশনের সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম

  4. C++ একটি শব্দকে পার্টিশন করার উপায় খুঁজে বের করার জন্য প্রোগ্রাম যাতে প্রতিটি শব্দ একটি প্যালিনড্রোম