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

C++ में एमिरप नंबर (Emirp Numbers)


एमिरप नंबर एक विशेष प्रकार की संख्या है जो एक अभाज्य संख्या है जिसके अंकों को उल्टा करने पर एक और अभाज्य संख्या बनती है (यह अभाज्य संख्या मूल से भिन्न होती है)।

एमिरप, प्राइम का उल्टा है।

कुछ अभाज्य संख्याएं जो एमिरप नहीं हैं वे पैलिंड्रोमिक प्राइम और एक अंक की अभाज्य संख्याएं हैं।

कुछ एमिरप नंबर हैं: 13, 17, 37, 733।

n से कम सभी एमिरप नंबर प्रिंट करने का प्रोग्राम।

यहां, हमें एक संख्या n दी गई है, और हमें दी गई संख्या n से कम या बराबर सभी एमिरप नंबर प्रिंट करने हैं।

उदाहरण से समझते हैं:

इनपुट: n = 40

आउटपुट: 13, 17, 31, 37

समाधान दृष्टिकोण

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

n तक अभाज्य संख्या ढूंढने और फिर इसके उल्टे अंकों की पुनः जांच करने के लिए, सबसे अच्छी विधि एराटोस्थनीज की छलनी (Sieve of Eratosthenes) का उपयोग करना है।

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

उदाहरण

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

int reverseDigits(int x) { 
    int digitRev = 0; 
    while (x > 0) { 
        digitRev = (digitRev * 10) + x % 10; 
        x = x / 10; 
    } 
    return digitRev; 
} 

void findAllEmirpNumber(int n) { 
    bool primeNo[10001]; 
    memset(primeNo, true, sizeof(primeNo)); 
    for (int p = 2; p * p <= 10001; p++) { 
        if (primeNo[p] == true) { 
            for (int i = p * 2; i <= 10001; i += p) 
                primeNo[i] = false; 
        } 
    } 
    
    for (int p = 2; p <= n; p++) { 
        if (primeNo[p]) { 
            int revNo = reverseDigits(p); 
            if (p != revNo && primeNo[revNo]) { 
                cout << p << "\t"; 
                if (revNo <= n) 
                    cout << revNo << "\t"; 
                primeNo[revNo] = false; 
            } 
        } 
    } 
} 

int main() { 
    int n = 40; 
    cout << "All Emirp numbers less than or equal to " << n << " are\n"; 
    findAllEmirpNumber(n); 
    return 0; 
}

आउटपुट

All Emirp numbers less than or equal to 40 are 
13 31 17 37

  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस

  1. C++ में डुडनी नंबर (Dudeney Numbers) C++ में डुडनी नंबर (Dudeney Numbers)

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या एक दी गई संख्या आधार में एक प्राकृतिक संख्या है जो दूसरी प्राकृतिक संख्या के पूर्ण घन के बराबर होती है जैसे कि पहली प्राकृतिक संख्या का अंक योग दूसरी संख्या के अंक योग के बराबर होता है (विकिपीडिया)। इस संख्या की खोज हेनरी डुडनी ने की थी। इसका गणितीय सू