Open in App
Not now

# Sum of even numbers at even position

• Difficulty Level : Basic
• Last Updated : 31 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 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[0]);     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))

## C#

 using System; using System.Collections.Generic;   public class Program {     // Function to calculate sum of even numbers at even     // indices     public static int sum_even_and_even_index(int[] arr,                                               int n)     {         Dictionary mp = new Dictionary<             int, int>(); // Dictionary to store even numbers                          // at even indices         int sum = 0;         for (int i = 0; i < n; i += 2) {             if (arr[i] % 2 == 0) {                 mp.Add(                     i,                     arr[i]); // insert even number and its                              // index into the Dictionary             }         }         foreach(int x in mp.Values)         {             sum += x; // calculate the sum of even numbers                       // in the Dictionary         }         return sum;     }       public static void Main(string[] args)     {         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));     } }

## 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[0]);     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.



## 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[0]);       //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