কম্পিউটার

C++ এর পরবর্তী ক্ষুদ্রতম প্রাইম প্যালিনড্রোম


আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের N এর থেকে বড় প্রাইম প্যালিনড্রোম খুঁজে বের করতে হবে। আসুন একটি উদাহরণ দেখি।

ইনপুট

N = 10

আউটপুট

11

অ্যালগরিদম

  • N সংখ্যাটি শুরু করুন।

  • প্রদত্ত সংখ্যাটি মৌলিক কি না তা পরীক্ষা করার জন্য একটি ফাংশন লিখুন।

  • প্রদত্ত সংখ্যাটি প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য একটি ফাংশন লিখুন।

  • একটি লুপ লিখুন যা N + 1 থেকে পুনরাবৃত্তি হয় যতক্ষণ না আপনি পরবর্তী প্রাইম প্যালিনড্রোম খুঁজে পান।

    • সংখ্যাটি প্রাইম এবং প্যালিনড্রোম কিনা তা পরীক্ষা করুন৷
    • যদি সংখ্যাটি মৌলিক এবং প্যালিনড্রোম হয়।
    • নম্বরটি ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
   if (n < 2) return false;
   for (int i = 2; i <= sqrt(n); i++) {
      if (n % i == 0) return false;
   }
   return true;
}
bool isPalindrome(int n) {
   int num, digit, rev = 0;
   n = num;
   while (num) {
      digit = num % 10;
      rev = (rev * 10) + digit;
      num = num / 10;
   }
return n == rev ? true : false;
}
int getNextSmallestPrimePalindrome(int n) {
   int i = n + 1;
   while (true) {
      if (isPrime(i) && isPalindrome(i)) {
         return i;
      }
      i += 1;
   }
}
int main() {
   int N = 15;
   cout << getNextSmallestPrimePalindrome(N) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

17

  1. C++ এ ক্ষুদ্রতম পরিসর II

  2. C++ এ প্রাইম প্যালিনড্রোম

  3. C++ এ প্রাইম ট্রিপলেট

  4. C++ এ ব্যালেন্সড প্রাইম