C ++を使用して、XORが0になるような配列内のペアの数を見つけます。
n個の要素の配列があるとします。 XORが0になる配列内のペアの数を見つける必要があります。XORが0のペア(x、y)の場合、x=yです。これを解決するために、配列を並べ替えることができます。次に、2つの連続する要素が同じである場合は、カウントを増やします。すべての要素が同じである場合、最後のカウントはカウントされない場合があります。その場合、最後の要素と最初の要素が同じであるかどうかを確認し、同じである場合は、カウントを1つ増やします。
例
#include<iostream>
#include<algorithm>
using namespace std;
int countPairs(int arr[], int n) {
int count = 0;
sort(arr, arr+n);
for(int i = 0; i<n - 1; i++){
if(arr[i] == arr[i+1]){
count++;
}
}
if(arr[0] == arr[n-1])
count++;
return count;
}
int main() {
int arr[] = {1, 2, 1, 2, 4};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Number of pairs: " << countPairs(arr, n);
} 出力
Number of pairs: 2
-
C ++を使用して、xとその数字の合計が与えられたnと等しくなるような数xを見つけます。
ここで、1つの問題が発生します。ここで、数値nを取得する場合、x +桁の合計xが指定された数値nと同じになるように、xなどの別の値を見つける必要があります。 nの値が21であると仮定します。このプログラムは、15+桁の合計15、つまり15 + 1 + 5 =21=nとして数値x=15を返します。 この問題を解決するには、単純なアプローチに従う必要があります。 1からnまで繰り返し、各繰り返しで、数値とその桁の合計の合計が数値と同じであるかどうかを確認し、停止します。それ以外の場合は続行します。 例 #include<iostream> using namespace std; i
-
C ++でa%b =kとなるような配列内のすべてのペア(a、b)を検索します
配列Aがあるとすると、その配列から、a%b =kとなるようにすべてのペア(a、b)を取得する必要があります。配列がA=[2、3、4、5、7]、k =3であるとすると、ペアは(7、4)、(3、4)、(3、5)、(3、7)になります。 これを解決するために、リストをトラバースして、指定された条件が満たされているかどうかを確認します。 例 #include <iostream> using namespace std; bool displayPairs(int arr[], int n, int k) { bool pairAvilable = true;