हमें पूर्णांक मानों की एक सरणी दी गई है, मान लीजिए arr[], और कार्य उन सरणी तत्वों की संख्या की गणना करना है जो अन्य सभी तत्वों के योग को विभाजित करते हैं।
उदाहरण के लिए
इनपुट - int arr_1[] = {9, 6, 3} आउटपुट - गिनती 3 है
व्याख्या - तत्वों 9+6 = 15 का योग 3 से विभाज्य है, तत्वों 9+3 = 12 का योग 6 से विभाज्य है और 6+3 = 9, 9 से विभाज्य है। इसलिए, गिनती 3 है।
इनपुट - arr[] = {3, 10, 4, 6, 7} आउटपुट - गिनती 3 है
व्याख्या - तत्वों 10+4+6+7 = 27 का योग 3 से विभाज्य है, तत्वों 3+4+6+7 = 20 का योग 10 से विभाज्य है और 3+10+4+7 = 24, 6 से विभाज्य है। इसलिए, गिनती 3 है।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
एक सरणी बनाएं, मान लीजिए arr[]
length() फंक्शन का उपयोग करके सरणी की लंबाई की गणना करें जो सरणी में तत्वों के अनुसार एक पूर्णांक मान लौटाएगा।
एक अस्थायी चर लें जो तत्वों की गिनती को संग्रहीत करेगा।
i को 0 से शुरू करके और i के सरणी के आकार से कम होने तक लूप शुरू करें
लूप के अंदर, अस्थायी चर को मान लीजिए temp को 0 पर सेट करें
लूप के अंदर, j को 0 से शुरू करके और j के सरणी के आकार से कम होने तक एक और लूप शुरू करें
जांचें कि क्या i = j है तो जारी रखें
अन्यथा, temp = temp + arr[j] सेट करें
अब जांचें कि क्या temp % arr[i] = 0 है तो count के मान को 1 से बढ़ाएं
count लौटाएं
परिणाम प्रिंट करें।
उदाहरण
#include <iostream>
using namespace std;
int countelements(int arr_1[], int size) {
// आवश्यक संख्याओं की गिनती संग्रहीत करने के लिए
int result = 0;
for (int i = 0; i < size; i++) {
// योग को 0 से आरंभ करें
int sum = 0;
for (int j = 0; j < size; j++) {
if (i == j) {
continue;
} else {
sum += arr_1[j];
}
}
// यदि योग चुने गए तत्व से विभाज्य है
if (sum % arr_1[i] == 0) {
result++;
}
}
// गिनती लौटाएं
return result;
}
// मुख्य फंक्शन
int main() {
int arr_1[] = {1, 2, 3, 4, 5, 6};
int size = sizeof(arr_1) / sizeof(arr_1[0]);
cout << "count is " << countelements(arr_1, size);
return 0;
}
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्नलिखित आउटपुट मिलेगा -
count is 2