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

C++ में बिटवाइज़ या मैक्स से कम वाले जोड़े गिनें


हमें एक पूर्णांक सरणी दी गई है और कार्य जोड़े की कुल संख्या की गणना करना है जो दिए गए सरणी मानों का उपयोग करके बनाई जा सकती हैं जैसे कि जोड़े पर OR ऑपरेशन के परिणामस्वरूप मूल्य होगा दी गई जोड़ी में MAX मान से कम।

OR ऑपरेशन के लिए सत्य तालिका नीचे दी गई है

A B AVB
0 0 0
1 0 1
0 1 1
1 1 1

इनपुट - int arr[] ={2, 5, 1, 8, 9}

आउटपुट − बिटवाइज़ या मैक्स से कम वाले युग्मों की संख्या है − 3

स्पष्टीकरण -

X Y X V Y
2 5 7>5=FALSE
2 1 3>2=FALSE
2 8 10>8=FALSE
2 9 11>9=FALSE
5 1 5=5 TRUE
5 8 13>8=FALSE
5 9 13>9=FALSE
1 8 9>8=FALSE
1 9 10>9=FALSE
8 9 9=9=TRUE

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

  • एक जोड़ी बनाने के लिए पूर्णांक तत्वों की एक सरणी इनपुट करें

  • एक सरणी के आकार की गणना करें आगे की प्रक्रिया के लिए डेटा को फ़ंक्शन में पास करें

  • OR ऑपरेशन के साथ बनाए गए युग्मों को संग्रहीत करने के लिए एक अस्थायी चर गणना बनाएँ, जिसका मान युग्म के बीच MAX मान से कम या उसके बराबर हो

  • किसी सरणी के आकार-1 तक i से 0 तक के लिए लूप प्रारंभ करें

  • लूप के अंदर, एक और लूप फॉर जे से i+1 तक एक ऐरे के आकार तक शुरू करें

  • लूप के अंदर, IF arr[i] | . की जाँच करें arr[j] <=max(arr[i], arr[j]) फिर गिनती को 1 से बढ़ा दें

  • गिनती वापस करें

  • परिणाम प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//Count pairs with bitwise OR less than Max
int Pair_OR(int arr[], int size){
   int count = 0;
   for (int i = 0; i lt; size - 1; i++){
      for (int j = i + 1; j lt; size; j++){
         if ((arr[i] | arr[j]) lt;= max(arr[i], arr[j])){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int arr[] = { 4, 8, 9, 10, 23};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of pairs with bitwise OR less than Max are: "<<Pair_OR(arr, size);
   return 0;
}

आउटपुट

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

Count of pairs with bitwise OR less than Max are − 3

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

    इस ट्यूटोरियल में, हम दिए गए XOR के साथ युग्मों की संख्या ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक सरणी और एक मान प्रदान किया जाएगा। हमारा काम उन युग्मों की संख्या ज्ञात करना है जिनका XOR दिए गए मान के बराबर है। उदाहरण #include<bits/stdc++.h> using namespace std; //ret

  1. C++ में k के बराबर अंतर वाले सभी अलग-अलग युग्मों की गणना करें

    इस ट्यूटोरियल में, हम k के बराबर अंतर वाले अलग-अलग जोड़े खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक पूर्णांक सरणी और मान k प्रदान किया जाएगा। हमारा काम उन सभी अलग-अलग युग्मों को गिनना है जिनका अंतर k है। उदाहरण #include<iostream> using namespace std; int count_diffK(int arr[]

  1. C++ में b से अधिक वाले उपसर्ग

    इस समस्या में, हमें स्ट्रिंग str दिया जाता है जिसमें केवल a और b होता है और एक पूर्णांक N होता है जैसे कि str n बार जोड़कर एक स्ट्रिंग बनाई जाती है। हमारा काम सबस्ट्रिंग की कुल संख्या को प्रिंट करना है जिसमें a की गिनती b की गिनती से अधिक है। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं Input: aab