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

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


हमें n धनात्मक संख्याओं की एक सरणी दी गई है। लक्ष्य क्रमबद्ध जोड़े (i,j) को गिनना है जैसे कि arr[i]*arr[j]> arr[i] +arr[j] और 0<=i

हम प्रत्येक जोड़े की संख्या के लिए दो for लूप का उपयोग करके सरणी को पार करेंगे। अब एआर [i] और एआर [जे] के योग और उत्पाद की गणना करें। यदि उत्पाद योग वृद्धि गणना से अधिक है।

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

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

आउटपुट - जोड़े की संख्या - 1

स्पष्टीकरण − केवल मान्य युग्म है - (2,3)

2*3=6 > 2+3=5

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

आउटपुट − जोड़ियों की संख्या − 0

स्पष्टीकरण − 2*2 और 2+2 दोनों 4 है। कोई भी जोड़ा जहां उत्पाद>योग

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

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

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

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

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

  • 0<=i

  • जांचें कि क्या गिरफ्तारी [i] * गिरफ्तार [जे]> गिरफ्तार [i] + गिरफ्तारी [जे]। अगर सही है तो वेतन वृद्धि की संख्या।

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

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

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

आउटपुट

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

Count of number of pairs :2

  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 है। इसे हल करने के लिए हम सरणी को सॉर्ट कर सकते हैं, फिर यदि दो लगातार तत्व समान हैं, तो गिनती बढ़ाएं। यदि सभी तत्व समान हैं, तो अंतिम गणना नहीं की जा सकती है। उस स