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

C++ में विभाज्यता शर्त पूरी करने वाले युग्मों (i, j) की गिनती


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

हम इसे सरणी arr[] को दो फॉर लूप का उपयोग करके प्रत्येक युग्म की संख्या के लिए पार करके और जांच करके करेंगे कि क्या arr[i]%arr[j]==0 या arr[j]%arr[i]==0 जब i!=j। यदि सही है तो युग्मों की गिनती बढ़ाते हैं।

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

इनपुट - Arr[]= { 2,4,3,6 } N=4

आउटपुट - वैध युग्मों की संख्या: 3

व्याख्या - वैध युग्म हैं -

Arr[0] & Arr[1] → (2,4) यहां 4%2==0, 0!=1 Arr[0] & Arr[3] → (2,6) यहां 6%2==0, 0!=3 Arr[2] & Arr[3] → (3,6) यहां 6%3==0, 2!=3

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

आउटपुट - वैध युग्मों की संख्या: 0

व्याख्या - कोई संख्या दूसरी को पूरी तरह विभाजित नहीं करती। कोई युग्म नहीं बन सकता।

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

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

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

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

  • प्रत्येक युग्म के तत्व के लिए दो फॉर लूप का उपयोग करके सरणी को पार करते हैं।

  • बाहरी लूप 0<=i

  • जांचते हैं कि arr[i]%arr[j]==0 या arr[j]%arr[i]==0 है या नहीं। यदि कोई शर्त सही है तो काउंट को एक बार बढ़ाते हैं।

  • सभी लूप के अंत में काउंट में वैध युग्मों की कुल संख्या होगी।

  • काउंट को परिणाम के रूप में लौटाते हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int countPairs(int arr[], int n){ // युग्मों की गिनती 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 << "युग्मों की संख्या: "<< countPairs(Arr, len); return 0; }

आउटपुट

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

युग्मों की संख्या: 3

  1. - C++ में सरणी में उन जोड़ों (x, y) की संख्या ज्ञात करें जहाँ x^y > y^x

    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 में उस सबसे छोटी संख्या का सूचकांक ढूंढना होगा ज

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

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

  1. - C++ में सरणी में उन जोड़ों की संख्या ढूंढना जिनका XOR 0 है

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