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

C++ में पियरपॉइंट प्राइम


इस समस्या में, हमें एक संख्या n दी गई है। हमारा कार्य n से कम सभी पियरपॉइंट अभाज्य संख्याओं को प्रिंट करना है।

पियरपॉइंट प्राइम संख्या एक विशेष प्रकार की अभाज्य संख्या है जो निम्न रूप की होती है,

p = 2i . 3k + 1।

जहां p एक अभाज्य संख्या है, और i और k कुछ पूर्णांक हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट - n = 50

आउटपुट - 2, 3, 5, 7, 13, 17, 19, 37

इस समस्या को हल करने के लिए, हमें उन सभी अभाज्य संख्याओं को ढूंढना होगा जो शर्त का पालन करती हैं। इसके लिए, हम 2 और 3 की घातों के गुणनखंडों वाली संख्या ढूंढेंगे। और सभी अभाज्य संख्याएं ढूंढेंगे। और उन संख्याओं को प्रिंट करेंगे जो दोनों हैं, एक अभाज्य संख्या जो शर्त का पालन करती है।

उदाहरण

हमारे समाधान के कार्यान्वयन को दर्शाने वाला प्रोग्राम,

#include <bits/stdc++.h>
using namespace std;

void printPierpontPrimes(int n) {
    bool arr[n+1];
    memset(arr, false, sizeof arr);
    int two = 1, three = 1;
    while (two + 1 < n) {
        arr[two] = true;
        while (two * three + 1 < n) {
            arr[three] = true;
            arr[two * three] = true;
            three *= 3;
        }
        three = 1;
        two *= 2;
    }
    vector<int> primes;
    for (int i = 0; i < n; i++)
        if (arr[i])
            primes.push_back(i + 1);
    memset(arr, false, sizeof arr);
    for (int p = 2; p * p < n; p++) {
        if (arr[p] == false)
            for (int i = p * 2; i < n; i += p)
                arr[i] = true;
    }
    for (int i = 0; i < primes.size(); i++)
        if (!arr[primes[i]])
            cout << primes[i] << "\t";
}

int main() {
    int n = 50;
    cout << "50 से कम सभी पियरपॉइंट अभाज्य संख्याएं हैं :\n";
    printPierpontPrimes(n);
    return 0;
}

आउटपुट

50 से कम सभी पियरपॉइंट अभाज्य संख्याएं हैं : 2   3   5   7   13   17   19   37
  1. - C++ में मर्सेन अभाज्य संख्या (Mersenne Prime Number)

    विवरण गणित में, मर्सेन अभाज्य संख्या (Mersenne prime) एक अभाज्य संख्या है जो दो की घात से एक कम होती है। अर्थात, यह कुछ पूर्णांक n के लिए Mₙ = 2ⁿ - 1 रूप की अभाज्य संख्या है। एक C++ प्रोग्राम लिखें जो एक इनपुट धनात्मक पूर्णांक n से छोटे सभी मर्सेन अभाज्य संख्याओं को प्रिंट करे। वे घातांक n जो मर्सेन

  1. - C++ में संतुलित अभाज्य संख्या

    संतुलित अभाज्य संख्या क्या है? एक अभाज्य संख्या जो अपने पिछले और अगले अभाज्य संख्याओं का औसत होती है। सूत्र: Pₙ = (P(n-1) + P(n+1)) / 2 पहली कुछ संतुलित अभाज्य संख्याएं: 5, 53, 157, 173, ... हल दृष्टिकोण सीव ऑफ एराटोस्थनीज का उपयोग करके अभाज्य संख्याएं उत्पन्न करें, फिर जांचें कि कौन सी संतुलित अ

  1. - C++ में जांचें कि संख्या फुल अभाज्य है या नहीं

    यहां हम देखेंगे कि कैसे जांचें कि कोई संख्या फुल अभाज्य है या नहीं। एक संख्या को फुल अभाज्य कहा जाता है, यदि यह अभाज्य है, और इसके सभी अंक भी अभाज्य हैं। मान लीजिए एक संख्या 37 है, यह फुल अभाज्य है। लेकिन 97 फुल अभाज्य नहीं है क्योंकि 9 अभाज्य संख्या नहीं है। एक कुशल दृष्टिकोण यह है कि; पहले हमें ज