在本教程中,我们将讨论一个程序,该程序将从四个数组中查找四倍数,以使它们的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