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

C++ में Emirp नंबर

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

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

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

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

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

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

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

इनपुट: एन =40

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

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

दी गई संख्या से कम सभी emirp संख्याओं को खोजने के लिए, हमें n से कम सभी अभाज्य संख्याओं को खोजने की आवश्यकता है और फिर जाँच करें कि क्या इसके अंकों को उलटने से बनी संख्या इसके emirp संख्या से एक अभाज्य संख्या है, इसे प्रिंट करें।

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

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

उदाहरण

#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++ में मितव्ययी संख्या

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

  1. सी++ पेंटाटोप नंबर

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

  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ