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

C++ का उपयोग करके अभाज्य संख्याओं को खोजने के लिए सबसे तेज़ एल्गोरिथम कौन सा है?


इराटोस्थनीज की चलनी n से छोटी अभाज्य संख्याओं को खोजने के सबसे प्रभावी तरीकों में से एक है जब n लगभग 10 मिलियन से छोटा है।

एराटोस्थनीज की चलनी को प्रदर्शित करने वाला एक कार्यक्रम इस प्रकार दिया गया है।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void SieveOfEratosthenes(int num) {
   bool pno[num+1];
   memset(pno, true, sizeof(pno));
   for (int i = 2; i*i< = num; i++) {
      if (pno[i] == true) {
         for (int j = i*2; j< = num; j + = i)
         pno[j] = false;
      }
   }
   for (int i = 2; i< = num; i++)
   if (pno[i])
   cout << i << " ";
}
int main() {
   int num = 15;
   cout << "The prime numbers smaller or equal to "<< num <<" are: ";
   SieveOfEratosthenes(num);
   return 0;
}

आउटपुट

उपरोक्त कार्यक्रम का आउटपुट इस प्रकार है।

The prime numbers smaller or equal to 15 are: 2 3 5 7 11 13

अब, उपरोक्त कार्यक्रम को समझते हैं।

फ़ंक्शन SieveOfEratosthenes() तर्क के रूप में प्रदान की गई संख्या से पहले होने वाली सभी प्रमुख संख्याओं को ढूंढता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

void SieveOfEratosthenes(int num) {
   bool pno[num+1];
   memset(pno, true, sizeof(pno));
   for (int i = 2; i*i< = num; i++) {
      if (pno[i] == true) {
         for (int j = i*2; j< = num; j + = i)
         pno[j] = false;
      }
   }
   for (int i = 2; i< = num; i++)
   if (pno[i])
   cout << i << " ";
}

फ़ंक्शन मुख्य () संख्या का मान सेट करता है और फिर उन सभी अभाज्य संख्याओं को प्रिंट करता है जो संख्या से छोटी या बराबर होती हैं। यह फ़ंक्शन SieveOfEratosthenes() को कॉल करके किया जाता है। इसके लिए कोड स्निपेट इस प्रकार दिया गया है।

int main() {
   int num = 15;
   cout << "The prime numbers smaller or equal to "<< num <<" are: ";
   SieveOfEratosthenes(num);
   return 0;
}

  1. C++ का उपयोग करके पंचकोणीय पिरामिड संख्या ज्ञात कीजिए

    एक पंचकोणीय पिरामिड संख्या एक पंचकोणीय आधार पिरामिड में मदों की संख्या के बराबर होती है। नीचे कुछ पंचकोणीय संख्याओं को देखें। N तक पंचकोणीय संख्याओं का योग Nवीं पंचकोणीय पिरामिड संख्या के बराबर होता है। इस लेख में, हम उदाहरण के लिए, Nth पंचकोणीय पिरामिड संख्या खोजने पर चर्चा करेंगे Input : N = 4

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क