C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のODD番号としてビット単位XORを使用してペアをカウントします


整数配列が与えられ、タスクは、ペアに対するXOR演算がODDになるように、指定された配列値を使用して形成できるペアの総数をカウントすることです。値。

XOR演算の真理値表を以下に示します

A B A XOR B
0 0 0
1 0 1
0 1 1
1 1 0

入力 − int arr [] ={2、8、1、5、11}

出力 −ODD数としてビット単位XORを持つペアの数は-6

説明

説明

a1 a2 a1 XOR a2
2 8 10
2 1 3
2 5 7
2 11 9
8 1 9
8 5 13
8 11 3
1 5 4
1 11 10
5 11 14
以下のプログラムで使用されているアプローチは次のとおりです
  • 整数要素の配列を入力してペアを形成します

  • 配列のサイズを計算し、さらに処理するためにデータを関数に渡します

  • XOR演算で形成されたペアを奇数値として格納するための一時変数カウントを作成します。

  • 配列のサイズまでiから0までのループFORを開始します

  • 次に、配列内の奇数値のペアをcount *(size-count)

    として計算します。
  • 奇数を返す

  • 結果を印刷する

#include <iostream>
using namespace std;
//Count pairs with Bitwise XOR as ODD number
int XOR_Odd(int arr[], int size){
   int count = 0;
   for (int i = 0; i < size; i++){
      if (arr[i] % 2 == 0){
         count++;
      }
   }
   int odd = count * (size-count);
   return odd;
}
int main(){
   int arr[] = { 6, 1, 3, 4, 8, 9};
   int size = sizeof(arr) / sizeof(arr[0]);
   cout<<"Count of pairs with Bitwise XOR as ODD number are: "<<XOR_Odd(arr, size);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Count of pairs with Bitwise XOR as ODD number are: 9

  1. C++で指定されたXORを持つすべてのペアをカウントします

    このチュートリアルでは、指定されたXORのペアの数を見つけるプログラムについて説明します。 このために、配列と値が提供されます。私たちのタスクは、XORが指定された値に等しいペアの数を見つけることです。 例 #include<bits/stdc++.h> using namespace std; //returning the number of pairs //having XOR equal to given value int count_pair(int arr[], int n, int x){    int result = 0;   &

  2. XORがC++で奇数である隣接ノードのすべてのペアをカウントします

    このチュートリアルでは、XORが奇数である隣接ノードのペアの数を見つけるプログラムについて説明します。 このために、バイナリツリーが提供されます。私たちのタスクは、XORが奇数である隣接する要素のペアの数を数えることです。 例 #include <iostream> using namespace std; //node structure of tree struct Node {    int data;    struct Node *left, *right; }; //finding the pairs whose XOR //i