C ++でそれらの合計がSであり、XORがKであるように、正の数の順序対をカウントします。
2つの数値SとKが与えられます。目標は、それらの合計がSでXORがKになるような正の数の順序対を見つけることです。
これを行うには、i=1からi
例を挙げて理解しましょう。
入力
出力
説明
入力
出力
説明
整数SとKを取ります。
関数sumXOR(int s、int k)はsとkを取り、sum=sとxor=kの順序対の数を返します
ペアの初期変数カウントを0とします。
ペアを作成するために2つのforループを使用してトラバースします。
i=1からi
次に、各ペア(i、j)について、(i + j ==s)&&(i ^ j ==k)かどうかを確認します。 (i、j)と(j、i)の両方が異なるペアであるため、真の増分が2ずつカウントされる場合。
すべてのループの終わりに、カウントにはそのようなペアの総数が含まれます。
結果としてカウントを返します。
上記のコードを実行すると、次の出力が生成されます-S=10 K=4
Ordered pairs such that sum is S and XOR is K: 2
Pairs will be (3,7) and (7,3)
S=12 K=6
Ordered pairs such that sum is S and XOR is K: 0
No such pairs possible.
以下のプログラムで使用されているアプローチは次のとおりです
例
#include <bits/stdc++.h>
using namespace std;
int sumXOR(int s, int k){
int count = 0;
for (int i = 1; i < s; i++){
for(int j=i+1; j<s-1; j++){
if( (i+j)==s && (i^j)==k){
count+=2; //(i,j) and (j,i) are two pairs
}
}
}
return count;
}
int main(){
int S = 9, K = 5;
cout <<"Ordered pairs such that sum is S and XOR is K: "<< sumXOR(S,K);
return 0;
}
出力
Ordered pairs such that sum is S and XOR is K: 4
-
XORがC++の「x」と等しくなるように、4つの配列からすべてのQuadrupleをカウントします
このチュートリアルでは、XORがxに等しくなるように4つの配列から4つ組の数を見つけるプログラムについて説明します。 このために、4つの配列と値xが提供されます。私たちのタスクは、XORが指定された値xに等しいすべての4倍をカウントすることです。 例 #include<bits/stdc++.h> using namespace std; //counting quadruples with XOR equal to x int count_quad(int a[], int b[], int c[], int d[], int x, int n){ i
-
C ++を使用して、XORが0になるような配列内のペアの数を見つけます。
n個の要素の配列があるとします。 XORが0になる配列内のペアの数を見つける必要があります。XORが0のペア(x、y)の場合、x=yです。これを解決するために、配列を並べ替えることができます。次に、2つの連続する要素が同じである場合は、カウントを増やします。すべての要素が同じである場合、最後のカウントはカウントされない場合があります。その場合、最後の要素と最初の要素が同じであるかどうかを確認し、同じである場合は、カウントを1つ増やします。 例 #include<iostream> #include<algorithm> using namespace std; in