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

C++ में N के नीचे सभी सुरक्षित प्राइम प्रिंट करें

इस समस्या में, हमें एक पूर्णांक N दिया जाता है और हमें सभी सुरक्षित अभाज्य संख्या . को प्रिंट करना होता है जिनका मान N से कम है।

एक सुरक्षित अभाज्य संख्या एक अभाज्य संख्या है जिसे [(2*p)-1] के रूप में दर्शाया जा सकता है जहाँ p भी एक अभाज्य संख्या है।

उदाहरण − 5[(2*2) +1] , 7[(2*3)+1].

आइए समस्या को बेहतर ढंग से समझने के लिए कुछ उदाहरण लेते हैं -

Input: N = 12
Output: 5 7 11.

इस समस्या को हल करने के लिए, हम N से कम सभी अभाज्य संख्याएँ पाएंगे (इसके लिए हम Sieve of Eratosthenes का उपयोग करेंगे)। और जांचें कि अभाज्य संख्या एक सुरक्षित अभाज्य संख्या है या नहीं और प्रिंट करें कि क्या यह एक सुरक्षित अभाज्य संख्या है।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void printPrime(int n){
   cout<<n<<"\t";
}
void generateSafePrimes(int n){
   int prime[n + 1];
   for (int i = 2; i <= n; i++)
      prime[i] = 1;
   prime[0] = prime[1] = 0;
   for (int p = 2; p * p <= n; p++) {
      if (prime[p] == 1) {
         for (int i = p * 2; i <= n; i += p)
            prime[i] = 0;
      }
   }
   for (int i = 2; i <= n; i++) {
      if (prime[i] != 0) {
         int temp = (2 * i) + 1;
         if (temp <= n && prime[temp] != 0)
            prime[temp] = 2;
      }
   }
   for (int i = 5; i <= n; i++)
      if (prime[i] == 2)
         printPrime(i);
}
// Driver code
int main(){
   int n = 34;
   cout<<"safe Prime numbers less than "<<n<<" are :\n";
   generateSafePrimes(n);
   return 0;
}

आउटपुट

34 से कम सेफ प्राइम नंबर हैं -

5 7 11 23

  1. C++ में बाइनरी ट्री के सभी आंतरिक नोड्स को प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री दिया जाता है और हमें बाइनरी ट्री के सभी आंतरिक नोड्स को प्रिंट करना होता है। बाइनरी ट्री एक पेड़ है जिसमें एक नोड में अधिकतम 2 चाइल्ड नोड हो सकते हैं। नोड या वर्टेक्स में कोई नोड नहीं हो सकता है, एक बच्चा या दो चाइल्ड नोड हो सकते हैं। उदाहरण - आंतरिक नोड एक न

  1. C++ में दिए गए नोड से k दूरी पर सभी नोड्स प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री, एक लक्ष्य नोड और एक पूर्णांक K दिया जाता है। हमें ट्री के सभी नोड्स को प्रिंट करना होता है जो लक्ष्य नोड से K की दूरी पर होते हैं। । बाइनरी ट्री एक विशेष पेड़ है जिसके प्रत्येक नोड में अधिकतम दो नोड (एक/दो/कोई नहीं) होते हैं। आइए समस्या को समझने के लिए एक उदाहरण

  1. C++ में K के पत्तों वाले बाइनरी ट्री में सभी नोड्स प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री और एक पूर्णांक K दिया जाता है और हमें बाइनरी ट्री के उन सभी नोड्स को प्रिंट करना होता है जिनके चाइल्ड सबट्री में K पत्ते होते हैं। बाइनरी ट्री एक विशेष पेड़ है जिसके प्रत्येक नोड में अधिकतम दो नोड (एक/दो/कोई नहीं) होते हैं। लीफ नोड बाइनरी ट्री का नोड ट्री के अंत