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

C++ में सरणी में विभाज्य जोड़ों की गिनती करें


हमें किसी भी आकार की एक सरणी दी गई है जिसमें पूर्णांक तत्व हैं और कार्य सरणी में जोड़ों की संख्या की गणना करना है जैसे कि एक जोड़ी का एक तत्व जोड़ी के दूसरे तत्व को विभाजित करता है।

उदाहरण के लिए

इनपुट - int arr[] = {1, 2, 3, 6} आउटपुट - गिनती 4 है

व्याख्या - (1,2), (1,3), (1,6) और (3,6) वे जोड़े हैं जिनमें एक जोड़ी का एक तत्व दूसरे को विभाजित करता है क्योंकि 1 किसी भी संख्या को विभाजित कर सकता है और 3, 6 को विभाजित करता है। इसलिए गिनती 4 है।

इनपुट - int arr[] = {2, 5, 10} आउटपुट - गिनती 2 है

व्याख्या - (2, 10) और (5,10) वे जोड़े हैं जिनमें एक जोड़ी का एक तत्व दूसरे को विभाजित करता है क्योंकि 2, 10 को विभाजित कर सकता है और 5, 10 को विभाजित कर सकता है। इसलिए गिनती 2 है।

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

  • एक सरणी बनाएं, मान लीजिए arr[]

  • length() फंक्शन का उपयोग करके सरणी की लंबाई की गणना करें जो सरणी में तत्वों के अनुसार एक पूर्णांक मान लौटाएगा।

  • एक अस्थायी चर लें जो केवल सरणी में मौजूद तत्वों की गिनती को संग्रहीत करेगा।

  • i को 0 से शुरू करके और i के सरणी के आकार से कम होने तक लूप शुरू करें

  • लूप के अंदर j को i+1 से शुरू करके और j के आकार से कम होने तक एक और लूप शुरू करें

  • लूप के अंदर जांचें कि क्या arr[i] % arr[j] = 0 या arr[j] % arr[i] = 0 है तो count को बढ़ाएं

  • count लौटाएं

  • परिणाम प्रिंट करें।

उदाहरण

#include <iostream>
using namespace std;

int divisibles(int a[], int size) {
    int result = 0;
    // सभी जोड़ों के माध्यम से पुनरावृत्ति
    for (int i = 0; i < size; i++) {
        for (int j = i + 1; j < size; j++) {
            if (a[i] % a[j] == 0 || a[j] % a[i] == 0) {
                result++;
            }
        }
    }
    return result;
}

int main() {
    int a[] = {1, 4, 7, 8, 9};
    int size = sizeof(a) / sizeof(a[0]);
    cout << "count is " << divisibles(a, size);
    return 0;
}

आउटपुट

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

count is 5

  1. - C++ में सॉर्टेड बाइनरी ऐरे में 1s गिनें

    इस ट्यूटोरियल में, हम सॉर्टेड बाइनरी ऐरे में 1s खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें केवल 1 और 0 वाला एक ऐरे प्रदान किया जाएगा। हमारा कार्य ऐरे में मौजूद 1s की संख्या गिनना है।उदाहरण#include <bits/stdc++.h> using namespace std; //1 की गिनती लौटाना int countOnes(bool arr[], i

  1. - C++ में सरणी रिवर्स

    यह आलेख C++ कोडिंग का उपयोग करके एक सरणी को अवरोही क्रम में रिवर्स दिखाता है जिसमें उच्चतम इंडेक्स को निम्नतम इंडेक्स से परिणामस्वरूप लूप में सरणी को पार करके स्वैप किया जाता है।उदाहरण#include <iostream> #include <algorithm> using namespace std; void reverseArray(int arr[], int n){  

  1. - C++ प्रोग्राम: सरणी में इनवर्जन गिनें

    परिचयइनवर्जन काउंट का अर्थ है सरणी को सॉर्ट करने के लिए आवश्यक स्वैप की संख्या। यदि सरणी सॉर्टेड है तो इनवर्जन काउंट = 0। यदि सरणी रिवर्स ऑर्डर में सॉर्टेड है तो इनवर्जन काउंट = अधिकतम।एल्गोरिदम a[j] तो काउंट 1 बढ़ाएं। अंत में काउंट लौटाएं।उदाहरण कोड#include <iostream> using namespace std; in