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

सी ++ में एक सरणी में प्राइम की संख्या की गणना करें


हमें संख्याओं की एक सरणी के साथ दिया गया है। लक्ष्य उस सरणी में अभाज्य संख्याओं की संख्या ज्ञात करना है।

एक अभाज्य संख्या वह होती है जो 1 और स्वयं संख्या से विभाज्य होती है। इसके केवल दो कारक हैं। हम जाँच करेंगे कि क्या संख्या अभाज्य है, पहले तत्व से शुरू होकर अंतिम तक और अब तक मिली अभाज्य संख्याओं की संख्या बढ़ाएँ।

यह जाँचने के लिए कि क्या संख्या N अभाज्य है, जाँच करें कि क्या [2 से N/2] के बीच की संख्याएँ N को पूरी तरह से विभाजित करती हैं। यदि हाँ तो यह गैर-अभाज्य है। वरना यह प्राइम है।

आइए उदाहरणों से समझते हैं।

इनपुट - गिरफ्तारी [] ={ 1,2,3,4,5,6,7,8,9 }

आउटपुट - अभाज्य संख्याओं की संख्या - 4

स्पष्टीकरण - यहाँ 2,3,5,7 अभाज्य संख्याएँ हैं और 1,4,6,8,9 अभाज्य हैं।

इनपुट - गिरफ्तारी [] ={ 11,12,4,61,23 }

आउटपुट - अभाज्य संख्याओं की संख्या - 3

स्पष्टीकरण − यहां 11,61,23 अभाज्य हैं और 12,4 अभाज्य हैं।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम एक पूर्णांक सरणी arr[] लेते हैं जिसमें यादृच्छिक संख्याएँ होती हैं।

  • फ़ंक्शन checkPrime(int num) जाँचता है कि पास की गई संख्या संख्या अभाज्य है या नहीं। यदि यह अभाज्य है, तो यह 1 देता है और यह 0 देता है।

  • यदि संख्या <=1 है तो यह अभाज्य नहीं है, 0 लौटाएं।

  • अब 2 से शुरू करके num/2 तक यदि कोई संख्या पूरी तरह से num (num%i==0) को विभाजित करती है तो num गैर-अभाज्य है, वापसी 0.

  • अन्य वापसी 1.

  • वेरिएबल आईप्राइम बताता है कि संख्या अभाज्य है या नहीं (1 का अर्थ अभाज्य है)

  • वेरिएबल काउंट गिरफ्तारी में अभाज्य संख्याओं की संख्या को संग्रहीत करता है []

  • मुख्य ट्रैवर्स पूरे सरणी के अंदर और प्रत्येक तत्व arr[i] को checkPrime(arr[i] ) में पास करें, यदि इसका परिणाम 1 ( isprime==1 ) है तो वृद्धि गणना।

  • अंत में गिरफ्तारी में अभाज्य संख्याओं की संख्या है []

उदाहरण

#include <bits/stdc++.h>
using namespace std;
// Function to find if number is prime
int checkPrime(int num){
    if (num <= 1)
      { return 0; }
   // Check from 2 to half of arr[i]
   for (int j = 2; j <= num/2; j++){
      if (num % j == 0){
         return 0;
      }
      return 1;
   }
}
int main(){
   int arr[] = { 1,3,5,4,8,13,11 };
   int n = 7;
   int count=0;
   int isprime=0;
   for(int i=0;i<n;i++){
      isprime=checkPrime(arr[i]);
      if(isprime==1)
         count++;
   }
   cout<<"Count of number of primes in array : "<<count;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of number of primes in array : 4

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. जाँच करें कि C++ में कोई संख्या पूर्ण प्रधान है या नहीं

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

  1. सी ++ में सेट बिट्स की गिनती के अनुसार एक सरणी को क्रमबद्ध करें

    यहां हम सेट-बिट्स के आधार पर एक सरणी को सॉर्ट करने के लिए एक दिलचस्प समस्या देखेंगे। जब सरणी में एक तत्व में सेट-बिट्स की संख्या अधिक होती है, तो उसे दूसरे तत्व से पहले रखा जाएगा जिसमें सेट बिट्स की संख्या कम होती है। मान लीजिए कुछ संख्याएं 12, 15, 7 हैं। तो सेट बिट्स मूल रूप से उनके द्विआधारी प्रति