#include <stdio.h>
#include <math.h>
#define min(x, y) (x > y ? y : x)
int main()
{
int N;
scanf("%d", &N);
int array_a[N];
int array_b[N];
int i, j;
for (i = 0; i < N; i++) scanf("%d", &array_a[i]);
for (i = 0; i < N; i++) scanf("%d", &array_b[i]);
int sum_array[N * N];
for (i = 0; i < N; i++){
for (j = 0; j < N; j++){
sum_array[N * i + j] = array_a[i] + array_b[j];
// printf("%d\n", sum_array[N * i + j]);
}
}
int two_array[N * N][28];
for (i = 0; i < N * N; i++){
for (j = 0; j < 28; j++){
two_array[i][j] = sum_array[i] % 2;
sum_array[i] /= 2;
// printf("%d\n", two_array[i][j]);
}
}
int xor_array[28];
for (i = 0; i < 28; i++) xor_array[i] = 0;
// for (i = 0; i < 28; i++) printf("%d", xor_array[i]);
for (i = 0; i < N * N; i++){
for (j = 0; j < 28; j++){
xor_array[j] += two_array[i][j];
// printf("%d",xor_array[j]);
}
}
// printf("%d", two_array[1][1]);
// for (i = 0; i < 28; i++) printf("%d", xor_array[i]);
for (i = 0; i < 28; i++) xor_array[i] %= 2;
int result = 0;
for (i = 0; i < 28; i++) result += xor_array[i] * (int)pow(2, (double)i);
printf("%d", result);
return 0;
}
./Main.c: In function ‘main’:
./Main.c:9:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &N);
^
./Main.c:15:29: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
for (i = 0; i < N; i++) scanf("%d", &array_a[i]);
^
./Main.c:16:29: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
for (i = 0; i < N; i++) scanf("%d", &array_b[i]);
^