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