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

C++-এ একটি স্ট্রিং প্যালিনড্রোমের রোটেশন কিনা তা যাচাই করা


এখানে আমরা দেখব একটি স্ট্রিং নির্দিষ্ট রোটেশনের পর প্যালিনড্রোম হয় কিনা। প্যালিনড্রোম হলো এমন স্ট্রিং যা উভয় দিক থেকে একই। একটি স্ট্রিং রোটেশন প্যালিনড্রোম হয় যদি সেটি "AAAAD" এর মত হয়। এটি সরাসরি প্যালিনড্রোম নয়, কিন্তু এর রোটেশন "AADAA" প্যালিনড্রোম।

একটি স্ট্রিং রোটেটেড প্যালিনড্রোম কিনা তা চেক করতে, প্রথমে এটি প্যালিনড্রোম কিনা চেক করুন, তারপর এক ক্যারেক্টার রোটেট করে আবার চেক করুন। এই চেকিং n বার হবে, যেখানে n হলো ক্যারেক্টার সংখ্যা।

উদাহরণ

#include <iostream> #include <string> #include <algorithm> using namespace std; bool isPalindromeRange(string str, int left, int right){    return (left >= right) || (str[left] == str[right] && isPalindromeRange(str, left + 1, right - 1)); } bool isRotatedPalindrome(string str){    int len = str.length();    for (int i = 0; i < len; i++){       rotate(str.begin(), str.begin() + 1, str.end());       if (isPalindromeRange(str, 0, len - 1)) //if rotated string is palindrome, then return true          return true;    }    return false; } int main(){    string str = "AAAAD"; //AADAA is palindrome    //rotate(str.begin(), str.begin() + 2, str.end());    if (isRotatedPalindrome(str))       cout << "Its rotation is palindrome";    else       cout << "Its rotation is not palindrome"; }

আউটপুট

Its rotation is palindrome

  1. C++-এ একটি স্ট্রিং সাব-স্ট্রিং কন্টেইন করে কিনা চেক করা

  2. C#-এ স্ট্রিং প্যালিনড্রোম (Palindrome) কিনা যাচাই করা

  3. দেওয়া স্ট্রিংটি ভয়েল প্যালিনড্রোম কিনা চেক করার পাইথন প্রোগ্রাম

  4. পাইথনে স্ট্রিং নাম্বার প্যালিনড্রোম কিনা চেক করা