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

जोड़े की संख्या की गणना करें (i, j) जैसे कि arr[i] arr[j] से विभाज्य है या arr[j] C++ में arr[i] से विभाज्य है


हमें N तत्वों की एक सरणी arr[] दी गई है। लक्ष्य इंडेक्स के सभी मान्य जोड़े (i,j) की गिनती का पता लगाना है जैसे कि arr[i] arr[j] से विभाज्य है या arr[j] arr[i] और i!=j से विभाज्य है।

हम प्रत्येक जोड़ी की संख्या के लिए दो लूप के लिए सरणी गिरफ्तारी [] का उपयोग करके ऐसा करेंगे और जांच करेंगे कि गिरफ्तारी [i]% गिरफ्तारी [जे] ==0 या गिरफ्तारी [जे]% गिरफ्तारी [i] ==0 जब मैं !=जे. यदि सही वृद्धि जोड़े की संख्या है।

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

इनपुट - अरे []={ 2,4,3,6 } एन=4

आउटपुट − मान्य युग्मों की संख्या − 3

स्पष्टीकरण − मान्य जोड़े हैं -

Arr[0] & Arr[1] → (2,4) here 4%2==0 0!=1
Arr[0] & Arr[1] → (2,6) here 6%2==0 0!=3
Arr[2] & Arr[3] → (3,6) here 6%3==0 2!=3

इनपुट − Arr[]={ 2,5,7,9,11 } N=5

आउटपुट - मान्य युग्मों की संख्या - 0

स्पष्टीकरण - कोई भी संख्या दूसरे को पूर्ण रूप से विभाजित नहीं करती है। कोई जोड़ा नहीं बनाया जा सकता।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

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

  • एक वैरिएबल n लें जो Arr[] की लंबाई को स्टोर करता है।

  • फंक्शन काउंटपेयर्स (int arr[], int n) एक ऐरे लेता है, इसकी लंबाई इनपुट के रूप में और उन युग्मों को लौटाता है जो मान्य हैं और वांछित शर्तों को पूरा करते हैं।

  • जोड़ी के प्रत्येक तत्व के लिए लूप के लिए दो का उपयोग करके ट्रैवर्स सरणी।

  • 0<=i

  • जांचें कि क्या गिरफ्तारी [i]% गिरफ्तारी [जे] ==0 या गिरफ्तारी [जे]% गिरफ्तारी [i] ==0 है। अगर दोनों में से कोई भी शर्त सही है, तो एक बार वेतन वृद्धि की गणना करें।

  • सभी लूपों के अंत में गिनती में जोड़े की कुल संख्या होगी जो मान्य हैं

  • परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int countPairs(int arr[], int n){
   // Count of pairs
   int count = 0;
   for (int i = 0; i < n-1; i++){
      for (int j = i + 1; j < n; j++){
         if(arr[i]%arr[j]==0 || arr[j]%arr[i]==0)
            { count++; }
      }
   }
   return count;
}
int main(){
   int Arr[] = { 2,3,4,5,6 };
   int len = sizeof(Arr) / sizeof(Arr[0]);
   cout << "Count of number of pairs : "<< countPairs(Arr, len);
   return 0;
}

आउटपुट

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

Count of number of pairs : 3

  1. एक सरणी में जोड़े (x, y) की संख्या पाएं जैसे कि x^y> y^x C++ . में

    y^x, जहाँ x, X का एक अवयव है और y, Y का एक अवयव है। मान लीजिए X =[2, 1, 6], और Y =[1, 5] , तो आउटपुट 3 होगा। चूंकि तीन जोड़े हैं, ये हैं (2, 1), (2, 5) और (6, 1) y^x कुछ अपवादों के साथ। तो यह है ट्रिक। सरणी Y को क्रमबद्ध करें X में प्रत्येक अवयव x के लिए, हमें Y में x से बड़ी सबसे छोटी संख्या

  1. C++ में संख्या को विभाजित करने वाली संख्या में अंकों की संख्या ज्ञात कीजिए

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

  1. एक सरणी में जोड़े की संख्या पाएं जैसे कि उनका एक्सओआर 0 सी ++ का उपयोग कर रहा है।

    मान लीजिए हमारे पास n तत्वों की एक सरणी है; हमें सरणी में ऐसे कई जोड़े खोजने हैं जिनका XOR 0 होगा। युग्म (x, y) जिसका XOR 0 है, तो x =y है। इसे हल करने के लिए हम सरणी को सॉर्ट कर सकते हैं, फिर यदि दो लगातार तत्व समान हैं, तो गिनती बढ़ाएं। यदि सभी तत्व समान हैं, तो अंतिम गणना नहीं की जा सकती है। उस स