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

जांचें कि कोई नंबर प्रिमोरियल प्राइम है या नहीं C++

अवधारणा

दी गई धनात्मक संख्या n के संबंध में, कार्य यह सत्यापित करना है कि n एक मूल अभाज्य संख्या है या नहीं। अगर n एक प्राइमरी प्राइम नंबर है तो हमें 'YES' प्रिंट करना होगा अन्यथा 'NO' प्रिंट करना होगा।

प्रिमोरियल प्राइम - गणित के संबंध में, एक प्राइमरी प्राइम को फॉर्म pN# + 1 या pN# - 1 की अभाज्य संख्या के रूप में परिभाषित किया जाता है, जहां pN# pN का प्राइमरी है जैसे कि पहले N अभाज्य संख्याओं का गुणनफल।

इनपुट - एन =7

आउटपुट - हाँ

7 एन =2 के लिए पीएन + 1 फॉर्म का प्राथमिक अभाज्य है, प्राइमरी 2*3 =6 और 6+1 =7 है।

इनपुट - एन =29

आउटपुट - हाँ

29, N=3 के लिए pN-1 के रूप का प्राइमरी प्राइम है, प्राइमरी 2*3*5 =30 और 30-1 =29 है।

निम्नलिखित में, पहले कुछ प्राइमरी प्राइम प्रदर्शित होते हैं - 2, 3, 5, 7, 29, 31, 211, 2309, 2311, 30029

दृष्टिकोण

  • हमें इरेटोस्थनीज की छलनी लगाकर रेंज में सभी अभाज्य संख्याएँ उत्पन्न करनी होंगी।

  • सत्यापित करें कि N अभाज्य है या नहीं, यदि N अभाज्य नहीं है, तो नहीं प्रिंट करें

  • अन्यथा, पहले अभाज्य (अर्थात 2 ) से शुरू होकर अगली अभाज्य संख्या को गुणा करना शुरू करें और यह सत्यापित करते रहें कि उत्पाद + 1 =N या उत्पाद – 1 =N है या नहीं

  • यह देखा गया है कि यदि या तो उत्पाद+1=N या उत्पाद-1=N, तो N एक प्राइमरी प्राइम है अन्यथा नहीं।

उदाहरण

// CPP program to check Primorial Prime
#include <bits/stdc++.h>
using namespace std;
#define MAX 10000
vector<int> arr1;
bool prime1[MAX];
void SieveOfEratosthenes1(){
   memset(prime1, true, sizeof(prime1));
   for (int p = 2; p * p < MAX; p++) {
      if (prime1[p] == true) {
         for (int i = p * 2; i < MAX; i += p)
            prime1[i] = false;
      }
   }
   for (int p = 2; p < MAX; p++)
      if (prime1[p])
         arr1.push_back(p);
}
bool isPrimorialPrime1(long n){
   // If n is not prime Number
   // return flase
   if (!prime1[n])
      return false;
   long long product1 = 1;
   int i = 0;
   while (product1 < n) {
      product1 = product1 * arr1[i];
      if (product1 + 1 == n || product1 - 1 == n)
         return true;
      i++;
   }
   return false;
}
// Driver code
int main(){
   SieveOfEratosthenes1();
   long n = 29;
   // Check if n is Primorial Prime
   if (isPrimorialPrime1(n))
      cout << "YES\n";
   else
      cout << "NO\n";
   return 0;
}

आउटपुट

YES

  1. C++ प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं

    एक अभाज्य संख्या एक पूर्ण संख्या होती है जो एक से बड़ी होती है और एक अभाज्य संख्या का एकमात्र गुणनखंड एक और स्वयं होना चाहिए। कुछ पहली अभाज्य संख्याएँ हैं - 2, 3, 5, 7, 11, 13 ,17 कोई संख्या अभाज्य है या नहीं यह जाँचने का कार्यक्रम इस प्रकार है। उदाहरण #include <iostream> using namespace std;

  1. सी # प्रोग्राम यह जांचने के लिए कि कोई नंबर प्राइम है या नहीं

    यह गणना करने के लिए कि कोई संख्या अभाज्य है या नहीं, हमने लूप के लिए a का उपयोग किया है। उसके भीतर प्रत्येक पुनरावृत्ति पर, हम एक if स्टेटमेंट का उपयोग यह पता लगाने के लिए करते हैं कि शेष संख्या के बीच, 0 के बराबर है। for (int i = 1; i <= n; i++) {    if (n % i == 0) {     &nb

  1. जांचें कि कोई संख्या प्राइमरी प्राइम है या नहीं पायथन में

    मान लीजिए कि हमारे पास एक संख्या n है, हमें यह जांचना है कि n एक आदिम अभाज्य है या नहीं। एक संख्या को प्राइमरी अभाज्य कहा जाता है जब यह pN# + 1 या pN# - 1 के रूप की अभाज्य संख्या होती है, जहाँ pN# pN के प्राइमरी को इस तरह इंगित करता है कि पहले N अभाज्य संख्याओं का गुणनफल। इसलिए, अगर इनपुट 29 की तरह