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

एक सरणी के सभी युग्मों की गणना करें जो C++ में K बिट्स में भिन्न हैं

इस ट्यूटोरियल में, हम एक प्रोग्राम के बारे में चर्चा करेंगे जो एक सरणी के जोड़े की संख्या को खोजने के लिए है जो K बिट्स में भिन्न है।

इसके लिए हमें एक सरणी और एक पूर्णांक K प्रदान किया जाएगा। हमारा कार्य उन जोड़ों की संख्या ज्ञात करना है जो अपने बाइनरी प्रतिनिधित्व में K बिट्स से भिन्न होते हैं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//counting number of bits in
//binary representation
int count_bit(int n){
   int count = 0;
   while (n) {
      if (n & 1)
         ++count;
      n >>= 1;
   }
   return count;
}
//counting the number of pairs
long long count_pair(int arr[], int n, int k) {
   long long ans = 0;
   for (int i = 0; i < n-1; ++i) {
      for (int j = i + 1; j < n; ++j) {
         int xoredNum = arr[i] ^ arr[j];
         if (k == count_bit(xoredNum))
            ++ans;
      }
   }
   return ans;
}
int main() {
   int k = 2;
   int arr[] = {2, 4, 1, 3, 1};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Total pairs for k = " << k << " are " << count_pair(arr, n, k) << "\n";
   return 0;
}

आउटपुट

5

  1. C++ में समान योग के साथ सभी जोड़ियों को एक क्रमबद्ध सरणी में प्रिंट करें

    इस समस्या में, हमारे पास एक अवर्गीकृत सरणी है और हमें इस सरणी के भीतर उन सभी युग्मों को प्रिंट करना है जिनका योग समान है। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं - Input: array = [12, 13, 20, 5] Output: [12, 13] and [20, 5] have sum 25. इस समस्या को हल करने के लिए, हमें समान योग के जोड़े खोज

  1. सरणी में सभी जोड़े (ए, बी) और (सी, डी) खोजें जो सी ++ में एबी =सीडी को संतुष्ट करते हैं

    मान लीजिए कि हमारे पास एक सरणी ए है, उस सरणी से, हमें दो जोड़े (ए, बी) और (सी, डी) चुनना है, जैसे कि एबी =सीडी। मान लीजिए कि सरणी A =[3, 4, 7, 1, 2, 9, 8] है। आउटपुट जोड़े (4, 2) और (1, 8) हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - i :=0 से n-1 के लिए, करें जे के लिए:=i + 1 से n-1 तक, कर

  1. सी++ प्रोग्राम एक ऐरे में व्युत्क्रम की गणना करने के लिए

    काउंट इनवर्जन का अर्थ है किसी सरणी को सॉर्ट करने के लिए आवश्यक स्विच की संख्या। उलटा गिनती =0, जब सरणी को क्रमबद्ध किया जाता है। उलटा गिनती =अधिकतम, जब सरणी को उल्टे क्रम में क्रमबद्ध किया जाता है। आइए एक सरणी में उलटा गिनने के लिए एक C++ प्रोग्राम विकसित करें। एल्गोरिदम Begin    Function