Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में अगला सबसे छोटा प्राइम पैलिंड्रोम

हमें एक नंबर N दिया गया है। हमें वह प्राइम पैलिंड्रोम ढूंढना है जो N से बड़ा हो। आइए एक उदाहरण देखें।

इनपुट

N = 10

आउटपुट

11

एल्गोरिदम

  • नंबर एन शुरू करें।

  • दी गई संख्या अभाज्य है या नहीं यह जांचने के लिए एक फ़ंक्शन लिखें।

  • दी गई संख्या पैलिंड्रोम है या नहीं यह जांचने के लिए एक फ़ंक्शन लिखें।

  • एक लूप लिखें जो 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. सी++ में प्राइम पलिंड्रोम

    मान लीजिए हमें सबसे छोटा अभाज्य पैलिंड्रोम खोजना है जो N से बड़ा या उसके बराबर है। इसलिए यदि N 13 है, तो सबसे छोटा पैलिंड्रोम 101 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - अगर N 8 से 11 की सीमा में है, तो 11 लौटाएं मैं के लिए 1 से 99999 की सीमा में s :=i एक स्ट्रिंग के रूप में

  1. C++ में प्राइम ट्रिपलेट

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम N से कम के सभी प्राइम ट्रिपल को प्रिंट करना है। प्राइम ट्रिपल तीन अभाज्य संख्याओं का समुच्चय है। जो (p, p+2, p+6) या (p, p+4, p+6) के रूप में हैं। सभी अभाज्य संख्याओं को उपरोक्त त्रिगुणों के अनुसार समूहीकृत किया जाता है क्योंकि प्रत्यक्ष पैटर्न

  1. C++ में बैलेंस्ड प्राइम

    बैलेंस्ड प्राइम संख्या एक अभाज्य संख्या है जिसका पिछली और अगली अभाज्य संख्याओं के लिए समान अंतर है। यानी यह निकटतम अगले अभाज्य और पिछले अभाज्य का माध्य है। एक अभाज्य संख्या के संतुलित अभाज्य होने के लिए, उसे निम्न सूत्र का पालन करना चाहिए - पीएन =(पी(एन-1) + पी(एन+1)) / 2 जहाँ n एक अभाज्य संख्या