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

सी++ में प्राइम पलिंड्रोम

मान लीजिए हमें सबसे छोटा अभाज्य पैलिंड्रोम खोजना है जो N से बड़ा या उसके बराबर है। इसलिए यदि N 13 है, तो सबसे छोटा पैलिंड्रोम 101 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अगर N 8 से 11 की सीमा में है, तो 11 लौटाएं

  • मैं के लिए 1 से 99999 की सीमा में

    • s :=i एक स्ट्रिंग के रूप में

    • आर:=एस

    • रिवर्स आर

    • num :=इंडेक्स 1 से s को जोड़ना और r को सबस्ट्रिंग करना, फिर नंबर में कनवर्ट करना

    • अगर num>=N और num प्राइम है, तो num वापस करें

  • वापसी 0

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   bool isPrime(int n){
      if(n % 2 == 0 && n > 2) return false;
      for(int i = 3; i * i <= n; i++){
         if(n % i == 0) return false;
      }
      return n != 1 && n != 0;
   }
   int primePalindrome(int N) {
      if(8 <= N && N <= 11) return 11;
      for(int i = 1; i < 100000; i++){
         string s = to_string(i);
         string r = s;
         reverse(r.begin(), r.end());
         int num = stoi(s + r.substr(1));
         if(num >= N && isPrime(num)) return num;
      }
      return 0;
   }
};
main(){
   Solution ob;
   cout << (ob.primePalindrome(105));
}

इनपुट

105

आउटपुट

131

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

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

  1. सी++ में पैलिंड्रोम विभाजन

    मान लीजिए कि हमारे पास एक इनपुट स्ट्रिंग है, उस स्ट्रिंग का एक विभाजन पैलिंड्रोम विभाजन है, जब विभाजन का प्रत्येक विकल्प एक पैलिंड्रोम होता है। इस खंड में, हमें दिए गए स्ट्रिंग को विभाजित करने वाले पैलिंड्रोम के लिए आवश्यक न्यूनतम कटौती का पता लगाना है। तो अगर स्ट्रिंग अब्बाबबाबाबाबा की तरह है, तो प

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

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