 Open in App
Not now

# Sum of even numbers at even position

• Difficulty Level : Basic
• Last Updated : 30 Mar, 2023

Given an array of size n. The problem is to find the sum of numbers that are even and are at even index.

Examples:

```Input :  arr[] = {5, 6, 12, 1, 18, 8}
Output : 30
Explanation: Here, n = 6
Now here are index and numbers as: index->arr[index]
0->5, 1->6, 2->12, 3->1, 4->18, 5->8
so, number which are even and are at even indices
are: 2->12, 4->18
sum = 12+18 = 30

Input  : arr[] = {3, 20, 17, 9, 2, 10,
18, 13, 6, 18}
Output : 26
Explanation: Here, n = 10
Now here are index and numbers as: index->arr[index]
0->3, 1->20, 2->17, 3->9, 4->2, 5->10,
6->18, 7->13, 8->6, 9->18
So, number which are even and are at even indices are:
4->2, 6->18, 8->6
sum = 2+18+6 = 26```

Brute Force Approach:

The idea behind this approach is to store the even numbers at even indices in a hash table and then calculate the sum of these numbers. We can use an unordered map to store the even numbers along with their index.

Here are the steps for this approach:

1. Create an empty unordered map to store the even numbers at even indices and their corresponding indices.
2. Iterate over the array and check if the index is even and the number at that index is even. If both conditions are true, then insert the number into the unordered map along with its index.
3. Iterate over the unordered map and calculate the sum of the even numbers.
4. Return the sum.

## C++

 `// C++ implementation to` `// find sum of even numbers` `// at even indices` `#include ` `using` `namespace` `std;`   `// Function to calculate sum` `// of even numbers at even indices` `int` `sum_even_and_even_index(``int` `arr[], ``int` `n) {` `    ``unordered_map<``int``, ``int``> mp; ``// unordered map to store even numbers at even indices` `    ``int` `sum = 0;` `    ``for` `(``int` `i = 0; i < n; i += 2) {` `        ``if` `(arr[i] % 2 == 0) {` `            ``mp[i] = arr[i]; ``// insert even number and its index into the unordered map` `        ``}` `    ``}` `    ``for` `(``auto` `x : mp) {` `        ``sum += x.second; ``// calculate the sum of even numbers in the unordered map` `    ``}` `    ``return` `sum;` `}`   `// Driver program to test above` `int` `main() {` `    ``int` `arr[] = {5, 6, 12, 1, 18, 8};` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);` `    ``cout << ``"Sum of even numbers at even indices is "` `        ``<< sum_even_and_even_index(arr, n);` `    `  `    ``return` `0;` `}`

## Java

 `import` `java.util.HashMap;`   `public` `class` `Main {` `    ``// Function to calculate sum of even numbers at even indices` `    ``public` `static` `int` `sum_even_and_even_index(``int` `arr[], ``int` `n) {` `        ``HashMap mp = ``new` `HashMap<>(); ``// HashMap to store even numbers at even indices` `        ``int` `sum = ``0``;` `        ``for` `(``int` `i = ``0``; i < n; i += ``2``) {` `            ``if` `(arr[i] % ``2` `== ``0``) {` `                ``mp.put(i, arr[i]); ``// insert even number and its index into the HashMap` `            ``}` `        ``}` `        ``for` `(``int` `x : mp.values()) {` `            ``sum += x; ``// calculate the sum of even numbers in the HashMap` `        ``}` `        ``return` `sum;` `    ``}`   `    ``public` `static` `void` `main(String[] args) {` `        ``int` `arr[] = {``5``, ``6``, ``12``, ``1``, ``18``, ``8``};` `        ``int` `n = arr.length;` `        ``System.out.println(``"Sum of even numbers at even indices is "` `+ sum_even_and_even_index(arr, n));` `    ``}` `}`

## Python3

 `# Python implementation to` `# find sum of even numbers` `# at even indices`   `# Function to calculate sum` `# of even numbers at even indices` `def` `sum_even_and_even_index(arr):` `    ``mp ``=` `{} ``# dictionary to store even numbers at even indices` `    ``sum` `=` `0` `    ``for` `i ``in` `range``(``0``, ``len``(arr), ``2``):` `        ``if` `arr[i] ``%` `2` `=``=` `0``:` `            ``mp[i] ``=` `arr[i] ``# insert even number and its index into the dictionary` `    ``for` `key, value ``in` `mp.items():` `        ``sum` `+``=` `value ``# calculate the sum of even numbers in the dictionary` `    ``return` `sum`   `# Driver program to test above` `arr ``=` `[``5``, ``6``, ``12``, ``1``, ``18``, ``8``]` `print``(``"Sum of even numbers at even indices is"``, sum_even_and_even_index(arr))`

## Javascript

 `// JavaScript implementation to` `// find sum of even numbers` `// at even indices`   `// Function to calculate sum` `// of even numbers at even indices` `function` `sum_even_and_even_index(arr) {` `    ``let mp = ``new` `Map(); ``// map to store even numbers at even indices` `    ``let sum = 0;` `    ``for` `(let i = 0; i < arr.length; i += 2) {` `        ``if` `(arr[i] % 2 === 0) {` `            ``mp.set(i, arr[i]); ``// insert even number and its index into the map` `        ``}` `    ``}` `    ``for` `(let [key, value] of mp) {` `        ``sum += value; ``// calculate the sum of even numbers in the map` `    ``}` `    ``return` `sum;` `}`   `// Driver program to test above` `let arr = [5, 6, 12, 1, 18, 8];` `console.log(``"Sum of even numbers at even indices is "` `+ sum_even_and_even_index(arr));`

Output

`Sum of even numbers at even indices is 30`

Time Complexity: O(N)

Auxiliary Space: O(N)

Another Approach:
Implementation:

## C++

 `// C++ implementation to ` `// find sum of even numbers` `// at even indices` `#include ` `using` `namespace` `std;`   `// Function to calculate sum ` `// of even numbers at even indices` `int` `sum_even_and_even_index(` `                ``int` `arr[], ``int` `n) {`   `    ``int` `i = 0, sum = 0;` `    `  `    ``// calculating sum of even` `    ``// number at even index` `    ``for` `(i = 0; i < n; i+=2) {` `    `  `        ``if` `(arr[i] % 2 == 0) {` `            `  `            ``sum += arr[i];` `        ``}` `    ``}` `    `  `    ``// required sum` `    ``return` `sum;` `}`   `// Driver program to test above` `int` `main() {` `    ``int` `arr[] = {5, 6, 12, 1, 18, 8};` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);` `    ``cout << ``"Sum of even numbers at even indices is "` `         ``<< sum_even_and_even_index(arr, n);` `    `  `    ``return` `0;` `}`

## Java

 `// Java implementation to find sum of ` `// even numbers at even indices`   `import` `java.io.*;`   `class` `GFG {` `    `  `    ``// Function to calculate sum ` `    ``// of even numbers at even indices` `    ``static` `int` `sum_even_and_even_index(` `                       ``int` `arr[], ``int` `n)` `    ``{` `    `  `        ``int` `i = ``0``, sum = ``0``;` `        `  `        ``// calculating sum of even` `        ``// number at even index` `        ``for` `(i = ``0``; i < n; i+=``2``) {` `        `  `            ``if` `(arr[i] % ``2` `== ``0``) {` `                ``sum += arr[i];` `            ``}` `        ``}` `        `  `        ``// required sum` `        ``return` `sum;` `    ``}`   `    ``// Driver program to test above` `    ``public` `static` `void` `main (String[] args) {` `        `  `        ``int` `arr[] = {``5``, ``6``, ``12``, ``1``, ``18``, ``8``};` `        ``int` `n = arr.length;` `        ``System.out.println(``"Sum of even numbers"` `                      ``+ ``" at even indices is "` `+` `             ``+ sum_even_and_even_index(arr, n));` `    ``}` `}`   `// This code is contributed by vt_m.`

## Python3

 `# python 3 implementation to ` `# find sum of even numbers` `# at even indices`   `# Function to calculate sum ` `# of even numbers at even indices` `def` `sum_even_and_even_index(arr,n):` `    `  `    ``i ``=` `0` `    ``sum` `=` `0` `    `  `# calculating sum of even` `# number at even index` `    ``for` `i ``in` `range``(``0``,n,``2``):` `        ``if` `(arr[i] ``%` `2` `=``=` `0``) :` `            ``sum` `+``=` `arr[i]` `        `  `    ``# required sum` `    ``return` `sum`     `# Driver program to test above` `arr ``=` `[``5``, ``6``, ``12``, ``1``, ``18``, ``8``]` `n ``=` `len``(arr)` `print``(``"Sum of even numbers at"``,` `             ``"even indices is"``, ` `   ``sum_even_and_even_index(arr, n))` `    `  `# This code is contributed by Sam007`

## C#

 `// C# implementation to find sum of ` `// even numbers at even indices`   `using` `System;`   `class` `GFG {` `    `  `    ``// Function to calculate sum ` `    ``// of even numbers at even indices` `    ``static` `int` `sum_even_and_even_index(` `                    ``int` `[]arr, ``int` `n)` `    ``{` `    `  `        ``int` `i = 0, sum = 0;` `        `  `        ``// calculating sum of even` `        ``// number at even index` `        ``for` `(i = 0; i < n; i+=2) {` `        `  `            ``if` `(arr[i] % 2 == 0) {` `                `  `                ``sum += arr[i];` `            ``}` `        ``}` `        `  `        ``// required sum` `        ``return` `sum;` `    ``}`   `    ``// Driver program to test above` `    ``public` `static` `void` `Main () {` `        `  `        ``int` `[]arr = {5, 6, 12, 1, 18, 8};` `        ``int` `n = arr.Length;` `        ``Console.WriteLine(``"Sum of even numbers"` `                    ``+ ``" at even indices is "` `+` `            ``+ sum_even_and_even_index(arr, n));` `    ``}` `}`   `//This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output

`Sum of even numbers at even indices is 30`

Time Complexity: O(n)
Auxiliary Space: O(1)

Approach: Using List comprehension in python and Bitwise & operator

This method uses a list comprehension to create a new list of the even numbers at even indices in the array, and then we use the sum() function to calculate the sum of the numbers.

## C++

 `#include ` `using` `namespace` `std;`   `int` `main() {`   `    ``int` `arr[] = {5, 6, 12, 1, 18, 8};` `    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);`   `    ``//using loop to find even values at even indices` `    ``int` `even_sum = 0;`   `    ``for` `(``int` `i = 0; i < n; i += 2) { ` `        ``if` `(arr[i] % 2 == 0) ` `            ``even_sum += arr[i]; ` `    ``} `   `    ``//printing output` `    ``cout << ``"Sum of even numbers at"` `        ``<< ``" even indices is "` `<< even_sum; `   `    ``return` `0;` `}`

## Java

 `import` `java.util.*;`   `public` `class` `Main {`   `    ``public` `static` `void` `main(String[] args) {`   `        ``int` `arr[] = {``5``, ``6``, ``12``, ``1``, ``18``, ``8``};` `        ``int` `n = arr.length;`   `        ``//using loop to find even values at even indices` `        ``int` `even_sum = ``0``;`   `        ``for` `(``int` `i = ``0``; i < n; i += ``2``) {` `            ``if` `(arr[i] % ``2` `== ``0``)` `                ``even_sum += arr[i];` `        ``}`   `        ``//printing output` `        ``System.out.println(``"Sum of even numbers at"` `                ``+ ``" even indices is "` `+ even_sum);` `    ``}` `}`

## Python3

 `# python 3 implementation to ` `# find sum of even numbers` `# at even indices`     `# Driver program to test above` `arr ``=` `[``5``, ``6``, ``12``, ``1``, ``18``, ``8``]` `n``=``len``(arr)` `#using list comprehension to find even values at even indices` `even_sum ``=` `sum``([arr[i] ``for` `i ``in` `range``(``0``,n,``2``) ``if` `arr[i] & ``1` `!``=` `1``])` `#printing output` `print``(``"Sum of even numbers at"``,` `             ``"even indices is"``, ` `   ``even_sum)` `# This code is contributed by tvsk`

## C#

 `using` `System;`   `public` `class` `Program {` `    ``public` `static` `void` `Main()` `    ``{` `        ``int``[] arr = { 5, 6, 12, 1, 18, 8 };` `        ``int` `n = arr.Length;`   `        ``// using loop to find even values at even indices` `        ``int` `even_sum = 0;`   `        ``for` `(``int` `i = 0; i < n; i += 2) {` `            ``if` `(arr[i] % 2 == 0)` `                ``even_sum += arr[i];` `        ``}`   `        ``// printing output` `        ``Console.WriteLine(``"Sum of even numbers at "` `                          ``+ ``"even indices is "` `+ even_sum);` `    ``}` `}`

## Javascript

 `// JavaScript Program for the above approach` `let arr = [5,6,12,1,18,8];` `let n = arr.length;`   `// using loop to find even values at even indices` `let even_sum = 0;`   `for``(let i = 0; i

Output

`Sum of even numbers at even indices is 30`

Time Complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Related Articles