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

C++ में सरणी के उन तत्वों की गिनती करें जो अन्य सभी तत्वों के योग को विभाजित करते हैं


हमें पूर्णांक मानों की एक सरणी दी गई है, मान लीजिए 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

  1. - C++ में STL का उपयोग करके सरणी के तत्वों का योग कैसे ज्ञात करें?

    यहां हम देखेंगे कि सरणी के सभी तत्वों का योग कैसे ज्ञात करें। इसलिए यदि सरणी [12, 45, 74, 32, 66, 96, 21, 32, 27] की तरह है, तो योग होगा: 405। तो यहां हमें इस समस्या को हल करने के लिए accumulate() फ़ंक्शन का उपयोग करना होगा। इस फ़ंक्शन का विवरण <numeric> हेडर फ़ाइल में मौजूद है। उदाहरण #includ

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात

  1. - C++ में XOR ऑपरेशन द्वारा सरणी योग न्यूनतम करें

    समस्या विवरण एक सरणी दी गई है, एक मान X ढूंढें जिससे प्रत्येक तत्व के साथ XOR करने के बाद सरणी का योग न्यूनतम हो। उदाहरण: arr = {8, 5, 7, 6, 9} यदि X = 5, तो XOR के बाद: 13, 0, 2, 3, 12 → योग = 30 (न्यूनतम) एल्गोरिदम 32-बिट बिटमैप बनाएं प्रत्येक तत्व के सेट बिट्स गिनें n/2 हैं, तो X में वह बिट