हमें सकारात्मक पूर्णांकों की एक सरणी दी गई है और कार्य दिए गए सरणी में समग्र तत्वों की गणना और योग की गणना करना है।
संयुक्त संख्याएं क्या हैं
दिए गए पूर्णांकों के समुच्चय से, वे संख्याएँ जो अभाज्य नहीं हैं, भाज्य संख्याएँ कहलाती हैं, केवल 1 को छोड़कर जो न तो भाज्य है और न ही अभाज्य, बल्कि यह एक इकाई संख्या है। तो, यह स्पष्ट रूप से कहा गया है कि संख्या 1 को छोड़कर कोई संख्या अभाज्य या संयुक्त हो सकती है।
100 तक का समग्र नीचे दिया गया है -
4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 70, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100
उदाहरण के लिए
Input − array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Output − total count of composite numbers is: 5 Sum of composite number is: 37
स्पष्टीकरण − 4, 6, 8, 9, 10 दी गई सरणी में मौजूद मिश्रित संख्याएं हैं। तो, उनकी गिनती 5 है और उनका योग 4+6+8+9+10 =37
. हैInput − array[] = {1, 2, 3, 4, 5} Output − total count of composite numbers is: 1 Sum of composite number is: 4
स्पष्टीकरण -4 किसी दिए गए सरणी में मौजूद एकमात्र समग्र संख्या है। तो, उनकी गिनती 1 है और उनका योग 4 है
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है &miuns;
-
धनात्मक पूर्णांकों की सरणी इनपुट करें
-
इसके आकार की गणना करें
-
मिश्रित संख्याओं के योग को संग्रहीत करने के लिए चर योग को प्रारंभ करें
-
किसी सरणी में मौजूद अधिकतम मान को एक चर में संग्रहीत करें
-
अधिकतम मान तक अभाज्य संख्याओं की गणना करें
-
संपूर्ण सरणी को पार करें और जांचें कि संख्या अभाज्य है या नहीं। यदि संख्या अभाज्य नहीं है तो वह संमिश्र संख्या होगी और यदि ऐसा है, तो संमिश्र संख्या की संख्या को 1 से बढ़ा दें और उसके मान को योग में जोड़ दें
उदाहरण
#include <iostream> #include <vector> #include <algorithm> using namespace std; // Function to find and return the // the count of the composite numbers int compcount(int ar[], int num, int* sum){ // storing the largest element of the array int max_val = *max_element(ar, ar + num); // Using sieve to find all prime numbers // less than or equal to max_val // Create a boolean array "prime[0..n]". A // value in prime[i] will finally be false vector<bool> pr(max_val + 1, true); // setting the values of 0 and 1 as // true for prime. pr[0] = true; pr[1] = true; for (int p = 2; p * p <= max_val; p++){ // If prime[p] is not changed, then // it is a prime if (pr[p] == true){ // Update all multiples of p for (int i = p * 2; i <= max_val; i += p){ pr[i] = false; } } } // Count all composite // numbers in the arr[] int ans = 0; for (int i = 0; i < num; i++){ if (!pr[ar[i]]){ ans++; *sum = *sum + ar[i]; } } return ans; } // Driver code int main(){ int ar[] = { 1, 2, 3, 4, 5 }; int num = sizeof(ar) / sizeof(ar[0]); int sum = 0; cout << "Count of Composite Numbers = "<< compcount(ar, num, &sum); cout << "\nSum of Composite Numbers = " << sum; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of Composite Numbers = 1 Sum of Composite Numbers = 4