Given an array **arr[]**, the task is to calculate the sum of the elements from the given array which has **even parity** i.e. the number of set bits is **even** using **bitwise operator**.

**Examples:**

Input:arr[] = {2, 4, 3, 5, 9}

Output:17

Only 3(0011), 5(0101) and 9(1001) have even parity

So 3 + 5 + 9 = 17

Input:arr[] = {1, 5, 4, 16, 10}

Output:15

**Approach:** Initialize a variable **sum = 0** and traverse the array from **0** to **n – 1** while counting the number of set bits in **arr[i]** using Brian Kernighan’s Algorithm. If the **count** is **even** then update **sum = sum + arr[i]**. Print the **sum** in the end.

Below is the implementation of the above approach:

## C++

`// C++ program to find the sum of the elements ` `// from an array which have even parity ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function that returns true if x has even parity ` `bool` `checkEvenParity(` `int` `x) ` `{ ` ` ` `// We basically count set bits ` ` ` `int` `parity = 0; ` ` ` `while` `(x != 0) { ` ` ` `x = x & (x - 1); ` ` ` `parity++; ` ` ` `} ` ` ` ` ` `if` `(parity % 2 == 0) ` ` ` `return` `true` `; ` ` ` `else` ` ` `return` `false` `; ` `} ` ` ` `// Function to return the sum of the elements ` `// from an array which have even parity ` `long` `sumlist(` `int` `a[], ` `int` `n) ` `{ ` ` ` `long` `sum = 0; ` ` ` ` ` `for` `(` `int` `i = 0; i < n; i++) { ` ` ` ` ` `// If a[i] has even parity ` ` ` `if` `(checkEvenParity(a[i])) ` ` ` `sum += a[i]; ` ` ` `} ` ` ` `return` `sum; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `arr[] = { 2, 4, 3, 5, 9 }; ` ` ` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]); ` ` ` ` ` `cout << sumlist(arr, n); ` ` ` `return` `0; ` `} ` |

## Java

`// Java program to find the sum of the elements ` `// from an array which have even parity ` ` ` `import` `java.io.*; ` ` ` `class` `GFG { ` ` ` `// Function that returns true if x has even parity ` `static` `boolean` `checkEvenParity(` `int` `x) ` `{ ` ` ` `// We basically count set bits ` ` ` `int` `parity = ` `0` `; ` ` ` `while` `(x != ` `0` `) { ` ` ` `x = x & (x - ` `1` `); ` ` ` `parity++; ` ` ` `} ` ` ` ` ` `if` `(parity % ` `2` `== ` `0` `) ` ` ` `return` `true` `; ` ` ` `else` ` ` `return` `false` `; ` `} ` ` ` `// Function to return the sum of the elements ` `// from an array which have even parity ` `static` `long` `sumlist(` `int` `a[], ` `int` `n) ` `{ ` ` ` `long` `sum = ` `0` `; ` ` ` ` ` `for` `(` `int` `i = ` `0` `; i < n; i++) { ` ` ` ` ` `// If a[i] has even parity ` ` ` `if` `(checkEvenParity(a[i])) ` ` ` `sum += a[i]; ` ` ` `} ` ` ` `return` `sum; ` `} ` ` ` `// Driver code ` ` ` ` ` `public` `static` `void` `main (String[] args) { ` ` ` `int` `arr[] = { ` `2` `, ` `4` `, ` `3` `, ` `5` `, ` `9` `}; ` ` ` ` ` `int` `n =arr.length; ` ` ` ` ` `System.out.println(sumlist(arr, n)); ` ` ` `} ` `} ` `// This code is contributed by inder_verma.. ` |

## Python3

`# Python3 program to find the sum of the elements ` `# from an array which have even parity ` ` ` `# Function that returns true if x ` `# has even parity ` `def` `checkEvenParity(x): ` ` ` ` ` `# We basically count set bits ` ` ` `parity ` `=` `0` ` ` `while` `(x !` `=` `0` `): ` ` ` `x ` `=` `x & (x ` `-` `1` `) ` ` ` `parity ` `+` `=` `1` ` ` ` ` `if` `(parity ` `%` `2` `=` `=` `0` `): ` ` ` `return` `True` ` ` `else` `: ` ` ` `return` `False` ` ` `# Function to return the sum of the elements ` `# from an array which have even parity ` `def` `sumlist(a, n): ` ` ` `sum` `=` `0` ` ` `for` `i ` `in` `range` `(n): ` ` ` ` ` `# If a[i] has even parity ` ` ` `if` `(checkEvenParity(a[i])): ` ` ` `sum` `+` `=` `a[i] ` ` ` `return` `sum` ` ` `# Driver code ` `if` `__name__ ` `=` `=` `'__main__'` `: ` ` ` `arr ` `=` `[ ` `2` `, ` `4` `, ` `3` `, ` `5` `, ` `9` `] ` ` ` `n ` `=` `len` `(arr) ` ` ` `print` `(sumlist(arr, n)) ` ` ` `# This code is contributed by 29AjayKumar. ` |

## C#

`// C# program to find the sum of the elements ` `// from an array which have even parity ` ` ` `using` `System ; ` ` ` `class` `GFG { ` ` ` `// Function that returns true if x has even parity ` `static` `bool` `checkEvenParity(` `int` `x) ` `{ ` ` ` `// We basically count set bits ` ` ` `int` `parity = 0; ` ` ` `while` `(x != 0) { ` ` ` `x = x & (x - 1); ` ` ` `parity++; ` ` ` `} ` ` ` ` ` `if` `(parity % 2 == 0) ` ` ` `return` `true` `; ` ` ` `else` ` ` `return` `false` `; ` `} ` ` ` `// Function to return the sum of the elements ` `// from an array which have even parity ` `static` `long` `sumlist(` `int` `[]a, ` `int` `n) ` `{ ` ` ` `long` `sum = 0; ` ` ` ` ` `for` `(` `int` `i = 0; i < n; i++) { ` ` ` ` ` `// If a[i] has even parity ` ` ` `if` `(checkEvenParity(a[i])) ` ` ` `sum += a[i]; ` ` ` `} ` ` ` `return` `sum; ` `} ` ` ` `// Driver code ` ` ` ` ` `public` `static` `void` `Main () { ` ` ` `int` `[]arr = { 2, 4, 3, 5, 9 }; ` ` ` ` ` `int` `n =arr.Length; ` ` ` ` ` `Console.WriteLine(sumlist(arr, n)); ` ` ` `} ` ` ` `// This code is contributed by Ryuga ` `} ` |

## PHP

`<?php ` `// PHP program to find the sum of the ` `// elements from an array which have ` `// even parity ` ` ` `// Function that returns true ` `// if x has even parity ` `function` `checkEvenParity(` `$x` `) ` `{ ` ` ` `// We basically count set bits ` ` ` `$parity` `= 0; ` ` ` `while` `(` `$x` `!= 0) ` ` ` `{ ` ` ` `$x` `= (` `$x` `& (` `$x` `- 1)); ` ` ` `$parity` `++; ` ` ` `} ` ` ` ` ` `if` `(` `$parity` `% 2 == 0) ` ` ` `return` `true; ` ` ` `else` ` ` `return` `false; ` `} ` ` ` `// Function to return the sum of the elements ` `// from an array which have even parity ` `function` `sumlist(` `$a` `, ` `$n` `) ` `{ ` ` ` `$sum` `= 0; ` ` ` ` ` `for` `(` `$i` `= 0; ` `$i` `< ` `$n` `; ` `$i` `++) ` ` ` `{ ` ` ` ` ` `// If a[i] has even parity ` ` ` `if` `(checkEvenParity(` `$a` `[` `$i` `])) ` ` ` `$sum` `+= ` `$a` `[` `$i` `]; ` ` ` `} ` ` ` `return` `$sum` `; ` `} ` ` ` `// Driver code ` `$arr` `= ` `array` `( 2, 4, 3, 5, 9 ); ` `$n` `= sizeof(` `$arr` `); ` `echo` `sumlist(` `$arr` `, ` `$n` `); ` ` ` `// This code is contributed by ajit. ` `?> ` |

**Output:**

17

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.