Divisible Sum Pairs Hacker Rank Solution Best & Easiest

Divisible Sum Pairs Hacker Rank Solution Best & Easiest
Divisible Sum Pairs Hacker Rank Solution Best & Easiest

Given an array of integers and a positive integer k, determine the number of (ij) pairs where i < j and ar[i] + ar[j] is divisible by k.

Example

ar = [1, 2, 3, 4, 5, 6]
k = 5
Three pairs meet the criteria: [1, 4], [2, 3], and [4, 6].

Function Description

Complete the divisibleSumPairs function in the editor below.

divisibleSumPairs has the following parameter(s):

  • int n: the length of array ar
  • int ar[n]: an array of integers
  • int k: the integer divisor

Returns
– int: the number of pairs

Input Format

The first line contains 2 space-separated integers, n and k.
The second line contains n space-separated integers, each a value of arr[i].

Constraints

  • 2 <= n <= 100
  • 1 <= k <= 100
  • 1 <= ar[i] <= 100

Sample Input

STDIN           Function
-----           --------
6 3             n = 6, k = 3
1 3 2 6 1 2     ar = [1, 3, 2, 6, 1, 2]

Sample Output

5

Explanation

Here are the 5 valid pairs when k = 3:

  • (0, 2) = ar[0] + ar[2] = 1 + 2 = 3
  • (0, 5) = ar[0] + ar[5] = 1 + 2 = 3
  • (1, 3) = ar[1] + ar[3] = 3 + 6 = 9
  • (2, 4) = ar[2] + ar[4] = 2 + 1 = 3
  • (4, 5) = ar[4] + ar[5] = 1 + 2 = 3

 

Divisible Sum Pairs Hacker Rank Solution:

Problem solution in JavaScript programming:

function divisibleSumPairs(n, k, ar) {
    let pairsCount = 0;
    for (let i = 0; i < n; i++) {
        for (let j = i + 1; j < n; j++) {
            if (!((ar[i] + ar[j]) % k)) {
                pairsCount++;
            };
        };
    };
    return pairsCount;
};

Problem solution in Python programming:

def divisibleSumPairs(n, k, ar): 
    count = 0
    for i in range(n):
        for j in range(i+1, n):   
            summ = ar[i] + ar[j]
            if summ % k == 0:
                count += 1

    return count

Problem solution in C++ programming:

int divisibleSumPairs(int n, int k, vector<int> ar) {
    uint cnt{};
    for(size_t i = 0; i < n; ++i)
        for(size_t j = i+1; j < n; ++j)
            if((ar[i]+ar[j])%k == 0)
                cnt++;
    return cnt;
}