Сумма всех элементов в массиве, делящаяся на заданное число K

Опубликовано: 24 Января, 2022

Дан массив, содержащий N элементов и число K. Задача состоит в том, чтобы найти сумму всех таких элементов, которые делятся на K.
Примеры :

 Ввод: arr [] = {15, 16, 10, 9, 6, 7, 17}
        К = 3
Выход: 30

Ввод: arr [] = {5, 3, 6, 8, 4, 1, 2, 9}
        К = 2
Выход: 20

Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.

The idea is to traverse the array and check the elements one by one. If an element is divisible by K then add that element’s value with the sum so far and continue this process while the end of the array reached.
Below is the implementation of the above approach: 
 

C++

// C++ program to find sum of all the elements
// in an array divisible by a given number K
 
#include <iostream>
using namespace std;
 
// Function to find sum of all the elements
// in an array divisible by a given number K
int findSum(int arr[], int n, int k)
{
    int sum = 0;
 
    // Traverse the array
    for (int i = 0; i < n; i++) {
 
        // If current element is divisible by k
        // add it to sum
        if (arr[i] % k == 0) {
            sum += arr[i];
        }
    }
 
    // Return calculated sum
    return sum;
}
 
// Driver code
int main()
{
    int arr[] = { 15, 16, 10, 9, 6, 7, 17 };
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 3;
 
    cout << findSum(arr, n, k);
 
    return 0;
}

Java

// Java program to find sum of all the elements
// in an array divisible by a given number K
 
import java.io.*;
 
class GFG {
 
// Function to find sum of all the elements
// in an array divisible by a given number K
static int findSum(int arr[], int n, int k)
{
    int sum = 0;
 
    // Traverse the array
    for (int i = 0; i < n; i++) {
 
        // If current element is divisible by k
        // add it to sum
        if (arr[i] % k == 0) {
            sum += arr[i];
        }
    }
 
    // Return calculated sum
    return sum;
}
 
    // Driver code
    public static void main (String[] args) {
     
    int arr[] = { 15, 16, 10, 9, 6, 7, 17 };
    int n = arr.length;
    int k = 3;
 
    System.out.println( findSum(arr, n, k));
    }
}
 
// this code is contributed by anuj_67..

Python3

# Python3 program to find sum of
# all the elements in an array
# divisible by a given number K
 
# Function to find sum of all
# the elements in an array
# divisible by a given number K
def findSum(arr, n, k) :
 
    sum = 0
 
    # Traverse the array
    for i in range(n) :
 
        # If current element is divisible
        # by k add it to sum
        if arr[i] % k == 0 :
 
            sum += arr[i]
 
    # Return calculated sum
    return sum
 
# Driver code
if __name__ == "__main__" :
 
    arr = [ 15, 16, 10, 9, 6, 7, 17]
    n = len(arr)
    k = 3
 
    print(findSum(arr, n, k))
 
# This code is contributed by ANKITRAI1

C#

// C# program to find sum of all the elements
// in an array divisible by a given number K
 
using System;
 
public class GFG{
 
// Function to find sum of all the elements
// in an array divisible by a given number K
static int findSum(int []arr, int n, int k)
{
    int sum = 0;
 
    // Traverse the array
    for (int i = 0; i < n; i++) {
 
        // If current element is divisible by k
        // add it to sum
        if (arr[i] % k == 0) {
            sum += arr[i];
        }
    }
 
    // Return calculated sum
    return sum;
}
 
    // Driver code
     
    static public void Main (){
     
    int []arr = { 15, 16, 10, 9, 6, 7, 17 };
    int n = arr.Length;
    int k = 3;
 
    Console.WriteLine( findSum(arr, n, k));
    }
}
//This code is contributed by anuj_67..
    

PHP

<?php
// PHP program to find sum of all
// the elements in an array divisible
// by a given number K
 
// Function to find sum of all
// the elements in an array
// divisible by a given number K
function findSum($arr, $n, $k)
{
    $sum = 0;
 
    // Traverse the array
    for ($i = 0; $i < $n; $i++)
    {
 
        // If current element is divisible
        // by k add it to sum
        if ($arr[$i] % $k == 0)
        {
            $sum += $arr[$i];
        }
    }
 
    // Return calculated sum
    return $sum;
}
 
// Driver code
$arr = array(15, 16, 10, 9, 6, 7, 17);
$n = sizeof($arr);
$k = 3;
 
echo findSum($arr, $n, $k);
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

Javascript

<script>
    // Javascript program to find sum of all the elements
    // in an array divisible by a given number K
     
    // Function to find sum of all the elements
    // in an array divisible by a given number K
    function findSum(arr, n, k)
    {
        let sum = 0;
 
        // Traverse the array
        for (let i = 0; i < n; i++) {
 
            // If current element is divisible by k
            // add it to sum
            if (arr[i] % k == 0) {
                sum += arr[i];
            }
        }
 
        // Return calculated sum
        return sum;
    }
     
    let arr = [ 15, 16, 10, 9, 6, 7, 17 ];
    let n = arr.length;
    let k = 3;
   
    document.write(findSum(arr, n, k));
 
</script>
Output: 
30

 

Сложность времени : O (N), где N - количество элементов в массиве.

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .

Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.