#include <stdio.h>
int validate_checksum(int *mem, int n) {
// Write your XOR scan logic here
int val = 0; // intialize the variable the val with zero
val = mem[0]; // val intializing first member of mem
for(int i = 1; i < n-1; i++){ // iterate the loop till n-1
val = val ^ mem[i]; // xor with all elements
}
if(val == mem[n-1]) // if val == mem last element return 1
return 1;
else // else return 0
return 0;
}
int main() {
int n, arr[100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int result = validate_checksum(arr, n);
printf("%d", result);
return 0;
}Solving Approach
int validate_checksum(int *mem, int n) {
// Write your XOR scan logic here
int val = 0; // intialize the variable the val with zero
val = mem[0]; // val intializing first member of mem
for(int i = 1; i < n-1; i++){ // iterate the loop till n-1
val = val ^ mem[i]; // xor with all elements
}
if(val == mem[n-1]) // if val == mem last element return 1
return 1;
else // else return 0
return 0;
}
Input
5 10 20 30 40 60
Expected Output
0