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

C++ में N से छोटे या बराबर सभी मल्टीप्लिकेटिव प्राइम प्रिंट करना


इस समस्या में, हमें एक पूर्णांक n दिया गया है और हमें n से छोटे या बराबर सभी मल्टीप्लिकेटिव प्राइम प्रिंट करने हैं।

मल्टीप्लिकेटिव प्राइम

मल्टीप्लिकेटिव प्राइम वे अभाज्य संख्याएं हैं जिनके अंकों का गुणनफल भी अभाज्य संख्या होती है। जैसे 2, 3, 5, 7, 13, 17।

23 अभाज्य है लेकिन मल्टीप्लिकेटिव प्राइम नहीं है क्योंकि 2*3 = 6।

उदाहरण

Input: n = 9 
Output: 2 3 5 7

इस समस्या को हल करने के लिए, हम n से छोटी सभी अभाज्य संख्याएं ढूंढेंगे। और जांचेंगे कि क्या संख्या मल्टीप्लिकेटिव प्राइम है। और n से छोटे सभी मल्टीप्लिकेटिव प्राइम प्रिंट करेंगे।

उदाहरण

प्रोग्राम समस्या का समाधान दर्शाता है:

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

int digitMultiply(int n) { 
    int prod = 1; 
    while (n) { 
        prod = prod * (n % 10); 
        n = n / 10; 
    } 
    return prod; 
} 

void generateMprime(int n) { 
    bool prime[n + 1]; 
    memset(prime, true, sizeof(prime)); 
    prime[0] = prime[1] = false; 
    for (int p = 2; p * p <= n; p++) { 
        if (prime[p]) { 
            for (int i = p * 2; i <= n; i += p) 
                prime[i] = false; 
        } 
    } 
    for (int i = 2; i <= n; i++) { 
        if (prime[i] && prime[digitMultiply(i)]) 
            cout << i << "\t"; 
    } 
} 

int main() { 
    int n = 10; 
    cout << "All multiplicative Prime Numbers <= " << n << " are :\n"; 
    generateMprime(n); 
}

आउटपुट

All multiplicative Prime Numbers <= 10 are - 2 3 5 7

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

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

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

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

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

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