ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจำนวนสี่เท่าจากสี่อาร์เรย์ โดยที่ XOR ของพวกมันจะเท่ากับ x
สำหรับสิ่งนี้เราจะมีสี่อาร์เรย์และค่า x งานของเราคือนับสี่เท่าทั้งหมดที่มี XOR เท่ากับค่าที่กำหนด x
ตัวอย่าง
#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){
int count = 0;
for (int i = 0 ; i < n ; i++)
for (int j = 0 ; j < n ; j++)
for (int k = 0 ; k < n ; k++)
for (int l = 0 ; l < n ; l++)
if ((a[i] ^ b[j] ^ c[k] ^ d[l]) == x)
count++;
return count;
}
int main(){
int x = 3;
int a[] = {0, 1};
int b[] = {2, 0};
int c[] = {0, 1};
int d[] = {0, 1};
int n = sizeof(a)/sizeof(a[0]);
cout << count_quad(a, b, c, d, x, n) << endl;
return 0;
} ผลลัพธ์
4