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

C++ में सरणी में अभाज्य संख्याओं की गिनती


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

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

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

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

इनपुट - arr[]= { 1,2,3,4,5,6,7,8,9 }

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

व्याख्या - यहां 2,3,5,7 अभाज्य हैं और 1,4,6,8,9 गैर-अभाज्य हैं।

इनपुट - arr[]= { 11,12,4,61,23 }

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

व्याख्या - यहां 11,61,23 अभाज्य हैं और 12,4 गैर-अभाज्य हैं।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

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

  • फंक्शन checkPrime(int num) जांचता है कि पास की गई संख्या num अभाज्य है या नहीं। यदि यह अभाज्य है, तो 1 लौटाता है अन्यथा 0 लौटाता है।

  • यदि num <=1 है तो यह गैर-अभाज्य है, 0 लौटाते हैं।

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

  • अन्यथा 1 लौटाते हैं।

  • वेरिएबल isprime बताता है कि संख्या अभाज्य है या नहीं (1 का अर्थ अभाज्य)।

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

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

  • अंत में count arr[] में अभाज्य संख्याओं की संख्या है।

उदाहरण

#include <bits/stdc++.h> using namespace std; // संख्या अभाज्य है या नहीं जांचने का फंक्शन int checkPrime(int num){ if (num <= 1) { return 0; } // 2 से 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 

आउटपुट

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

सरणी में अभाज्य संख्याओं की संख्या: 4

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

    =B। लक्ष्य LxB आकार के आयत में समायोजित किए जा सकने वाले वर्गों की संख्या ढूंढना है। उपरोक्त आकृति 3x2 आकार के एक आयत को दर्शाती है। इसमें 2, 2x2 वर्ग और 6, 1x1 वर्ग हैं। कुल वर्ग = 6+2=8। LxB आकार के हर आयत में L*B संख्या के 1x1 वर्ग होते हैं। सबसे बड़े वर्ग BxB आकार के होते हैं। L=B=1 के लिए, वर

  1. - C++ में जांचें कि संख्या फुल अभाज्य है या नहीं

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

  1. - C++ में सेट बिट्स की संख्या के अनुसार ऐरे सॉर्ट करें

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