# Divisible Sum Pairs | HackerRank Solution

Hello coders, today we are going to solve Divisible Sum Pairs HackerRank Solution which is a Part of HackerRank Algorithms Series.

Given an array of integers and a positive integer k, determine the number of (i, j) 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

## Solution – Divisible Sum Pairs

### C++

```#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>

using namespace std;

int main(){
int n;
int k;
int count = 0;
cin >> n >> k;
vector<int> a(n);
for(int a_i = 0;a_i < n;a_i++){
cin >> a[a_i];
}

for(int i =0 ; i < n -1 ; i++){
for(int j=i+1 ; j < n ; j++){
if( (a[i]+a[j])%k ==0){
count++;
}
}
}

cout << count;
return 0;
}```

### Python

```import sys

n,k = input().strip().split(' ')
n,k = [int(n),int(k)]
a = [int(a_temp) for a_temp in input().strip().split(' ')]

result = 0
for i in range(n-1):
for j in range(i+1, n):
if not ((a[i] + a[j]) % k):
result += 1
print(result)```

### Java

```import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

public static void main(String[] args) {
int cnt=0;
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int k = in.nextInt();
int a[] = new int[n];
for(int a_i=0; a_i < n; a_i++){
a[a_i] = in.nextInt();
}
for(int a_i=0; a_i < n-1; a_i++){
for(int a_j=a_i+1; a_j< n; a_j++){
if( (a[a_i]+a[a_j])%k==0)
cnt++;

}
}
System.out.println(cnt);
}
}```

Disclaimer: The above Problem (Divisible Sum Pairs) is generated by Hacker Rank but the Solution is Provided by CodingBroz. This tutorial is only for Educational and Learning Purpose.