हमें N तत्वों की एक सरणी arr[] दी गई है। लक्ष्य उन सभी वैध युग्मों (Arr[i], Arr[j]) की गिनती ढूंढना है जो कुछ शर्तों का पालन करते हैं। युग्म Arr[i], Arr[j] अमान्य हैं यदि -
- Arr[i] == Arr[j]
- Arr[i] + Arr[j] सम है
- i + j < 120
नोट - Arr[i], Arr[j] और Arr[j], Arr[i] को एक युग्म के रूप में गिना जाएगा। वैध युग्म में i != j होता है आइए उदाहरणों से समझते हैं।
इनपुट
Arr[]= { 3,2,1,2,4,3 } N=4 आउटपुट
वैध युग्मों की संख्या: 2
व्याख्या
वैध युग्म हैं -
Arr[0] & Arr[4] → (3,3) यहां Arr[i]==Arr[j] और 3+3 सम है साथ ही i!=j और i+j<120 Arr[1] & Arr[3] → (2,2) यहां Arr[i]==Arr[j] और 2+2 सम है साथ ही i!=j और i+j<120
इनपुट
Arr[]= { 1,2,3,4,5,6 } N=6 आउटपुट
वैध युग्मों की संख्या: 0
व्याख्या
तत्वों का कोई दोहराव नहीं। i!=j वाले (a,a) प्रकार का कोई युग्म संभव नहीं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
- हम यादृच्छिक संख्याओं से आरंभ एक पूर्णांक सरणी Arr[] लेते हैं।
- एक वेरिएबल n लेते हैं जो Arr[] की लंबाई स्टोर करता है।
- फंक्शन countPairs(int arr[], int n) एक सरणी, उसकी लंबाई को इनपुट के रूप में लेता है और उन युग्मों को लौटाता है जो वैध हैं और वांछित शर्तों को पूरा करते हैं।
- प्रत्येक युग्म के तत्व के लिए दो फॉर लूप का उपयोग करके सरणी को पार करते हैं।
- बाहरी लूप 0<=i
- arr[i], arr[j] के योग की गणना sum=(arr[i]+arr[j]) के रूप में करते हैं।
- यह जांचने के लिए कि क्या युग्म वैध है। तुलना करते हैं कि i!=j और sum%2==0 और i+j<120।
- अब जांचते हैं कि arr[i]==arr[j] है या नहीं। काउंट बढ़ाते हैं।
- सभी लूप के अंत में काउंट में वैध युग्मों की कुल संख्या होगी।
- काउंट को परिणाम के रूप में लौटाते हैं।
उदाहरण
#include <bits/stdc++.h> using namespace std; int countPairs(int arr[], int n){ int count=0; for(int i=0;i आउटपुट
सरणी में वैध युग्म: a:1b: 1 a:2b: 2 a:4b: 43