Рубрики

Сумма элементов до наименьшего индекса, так что справа от него нет четных чисел

Дан массив arr [] из N целых чисел. Задача состоит в том, чтобы найти сумму элементов до наименьшего индекса, чтобы не было четных элементов справа от индекса. Обратите внимание, что в массиве будет хотя бы один четный элемент.

Примеры:

Input: arr[] = {2, 3, 5, 6, 3, 3}
Output: 16
2 + 3 + 5 + 6 = 16

Input: arr[] = {3, 4}
Output: 7
3 + 4 = 7

Подход: найти индекс самого правого четного элемента из массива и вернуть сумму всех элементов, начиная с индекса 0 до найденного индекса.

Ниже приведена реализация вышеуказанного подхода:

C ++

// C ++ реализация подхода
#include <bits/stdc++.h>

using namespace std;

  
// Функция для возврата необходимой суммы

int smallestIndexsum(int arr[], int n)

{

  

    // Начиная с последнего индекса

    int i = n - 1;

  

    // Пропустить все нечетные элементы и найти

    // индекс правого четного элемента

    while (i >= 0 && arr[i] % 2 == 1)

        i--;

  

    // Хранить запрашиваемую сумму

    int sum = 0;

    for (int j = 0; j <= i; j++)

        sum += arr[j];

  

    return sum;

}

  
// Код драйвера

int main()

{

  

    int arr[] = { 2, 3, 5, 6, 3, 3 };

    int n = sizeof(arr) / sizeof(arr[0]);

  

    cout << smallestIndexsum(arr, n);

  

    return 0;

}

Джава

// Java реализация подхода

class GFG 

{

  
// Функция для возврата необходимой суммы

static int smallestIndexsum(int arr[], int n)

{

  

    // Начиная с последнего индекса

    int i = n - 1;

  

    // Пропустить все нечетные элементы и найти

    // индекс правого четного элемента

    while (i >= 0 && arr[i] % 2 == 1)

        i--;

  

    // Хранить запрашиваемую сумму

    int sum = 0;

    for (int j = 0; j <= i; j++)

        sum += arr[j];

  

    return sum;

}

  
// Код драйвера

public static void main(String[] args) 

{

    int arr[] = { 2, 3, 5, 6, 3, 3 };

    int n = arr.length;

  

    System.out.println(smallestIndexsum(arr, n));

}

  
// Этот код предоставлен 29AjayKumar

python3

# Python3 реализация подхода

  
# Функция для возврата необходимой суммы

def smallestIndexsum(arr, n):

  

    # Начиная с последнего индекса

    i = n - 1;

  

    # Пропустить все нечетные элементы и найти

    # индекс правого четного элемента

    while (i >= 0 and arr[i] % 2 == 1):

        i -= 1;

  

    # Хранить запрашиваемую сумму

    sum = 0;

    for j in range(0, i + 1):

        sum += arr[j];

  

    return sum;

  
# Код драйвера

if __name__ == '__main__':

  

    arr = [ 2, 3, 5, 6, 3, 3 ];

    n = len(arr);

  

    print(smallestIndexsum(arr, n));

  
# Этот код предоставлен PrinciRaj1992

C #

// C # реализация подхода

using System;

  

class GFG

{

      
// Функция для возврата необходимой суммы

static int smallestIndexsum(int []arr, int n)

{

  

    // Начиная с последнего индекса

    int i = n - 1;

  

    // Пропустить все нечетные элементы и найти

    // индекс правого четного элемента

    while (i >= 0 && arr[i] % 2 == 1)

        i--;

  

    // Хранить запрашиваемую сумму

    int sum = 0;

    for (int j = 0; j <= i; j++)

        sum += arr[j];

  

    return sum;

}

  
// Код драйвера

static public void Main ()

{

    int []arr = { 2, 3, 5, 6, 3, 3 };

    int n = arr.Length;

      

    Console.Write(smallestIndexsum(arr, n));

}

  
// Этот код предоставлен ajit.

Выход:

16

Рекомендуемые посты:

Сумма элементов до наименьшего индекса, так что справа от него нет четных чисел

0.00 (0%) 0 votes