কম্পিউটার

C++ এ সমস্ত প্রাইম লেংথ প্যালিনড্রোমিক সাবস্ট্রিং গণনা করুন


এই টিউটোরিয়ালে, আমরা প্রাইম লেন্থ প্যালিনড্রোমিক স্ট্রিং এর সংখ্যা বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

এই জন্য আমাদের একটি স্ট্রিং প্রদান করা হবে. আমাদের কাজ হল সমস্ত সাব স্ট্রিংগুলি গণনা করা যা প্যালিনড্রোম এবং প্রাইম লেন্থ রয়েছে৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//checking for a palindrome
bool if_palin(string str, int i, int j){
   while (i < j) {
      if (str[i] != str[j])
         return false;
      i++;
      j--;
   }
   return true;
}
//counting palindrome with prime length
int count_prime(string str, int len){
   bool prime[len + 1];
   memset(prime, true, sizeof(prime));
   prime[0] = prime[1] = false;
   for (int p = 2; p * p <= len; p++) {
      if (prime[p]) {
         for (int i = p * p; i <= len; i += p)
            prime[i] = false;
      }
   }
   int count = 0;
   for (int j = 2; j <= len; j++) {
      if (prime[j]) {
         for (int i = 0; i + j - 1 < len; i++) {
            if (if_palin(str, i, i + j - 1))
               count++;
         }
      }
   }
   return count;
}
int main(){
   string s = "abccc";
   int len = s.length();
   cout << count_prime(s, len);
   return 0;
}

আউটপুট

3

  1. C++ এ মোট অ্যানাগ্রাম সাবস্ট্রিং এর গণনা

  2. C++ এ প্রাইম যোগ সহ সাবয়ারে গণনা করুন

  3. C++ রেঞ্জে প্রাইম গণনা করুন

  4. C++ এ একটি অ্যারেতে সমস্ত মৌলিক সংখ্যার গুণফল