HackerRank Divisible Sum Pairs Solution

Hello Programmers, In this post, you will know how to solve the HackerRank Divisible Sum Pairs Solution. This problem is a part of the HackerRank Algorithms Series.

HackerRank Divisible Sum Pairs Solution
HackerRank Divisible Sum Pairs Solution

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

HackerRank Divisible Sum Pairs Solution

Task

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

HackerRank Divisible Sum Pairs Solutions

Divisible Sum Pairs Solution in C

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main(){
    int n; 
    int k;
    int ans = 0, i, j, t;
    scanf("%d %d",&n,&k);
    int *a = malloc(sizeof(int) * n);
    for(int a_i = 0; a_i < n; a_i++){
       scanf("%d",&a[a_i]);
    }
    for (i=0;i<n;i++)
    {
        for(j=i+1;j<n;j++)
            {
            if ((a[i]+a[j])%k==0)
                ans++;
        }
    }
    printf("%d\n",ans);
    return 0;
}

Divisible Sum Pairs Solution in Cpp

#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,k,countt=0;
    cin >> n >> k;
    int arr[n];
    for(int i=0;i<n;i++)
    {
        cin >> arr[i];
    }
    for(int i=0;i<n-1;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if((arr[i]+arr[j])%k==0)
            {
                 countt++;
            }
        }
    }
    cout << countt;
    return 0;
}

Divisible Sum Pairs Solution in 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);
    }
}
Ezoicreport this ad

Divisible Sum Pairs Solution in Python

#!/bin/python
import sys
n,k = raw_input().strip().split(' ')
n,k = [int(n),int(k)]
a = map(int,raw_input().strip().split(' '))
res=0
for i in range(n):
    for j in range(i+1,n):
        if (a[i]+a[j])%k==0:
            res+=1
print res

Divisible Sum Pairs Solution using JavaScript

process.stdin.resume();
process.stdin.setEncoding('ascii');
var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;
process.stdin.on('data', function (data) {
    input_stdin += data;
});
process.stdin.on('end', function () {
    input_stdin_array = input_stdin.split("\n");
    main();    
});
function readLine() {
    return input_stdin_array[input_currentline++];
}
/////////////// ignore above this line ////////////////////
function main() {
    var n_temp = readLine().split(' ');
    var n = parseInt(n_temp[0]);
    var k = parseInt(n_temp[1]);
    a = readLine().split(' ');
    a = a.map(Number);
    
    var r = 0;
    
    for(i = 0; i < a.length - 1; i++){
        for(j = i + 1; j < a.length; j++){
            if((a[i] + a[j]) % k == 0){
                r++;
            }
        }
    }
    
    console.log(r);
}

Divisible Sum Pairs Solution in Scala

object Solution {
    def main(args: Array[String]) {
        val sc = new java.util.Scanner (System.in);
        var n = sc.nextInt();
        var k = sc.nextInt();
        var a = new Array[Int](n);
        for(a_i <- 0 to n-1) {
           a(a_i) = sc.nextInt();
        }
        var count = 0
        for (i <- 0 until n - 1) {
            for (j <- i + 1 until n) {
                if ((a(i) + a(j)) % k == 0) {
                    count += 1
                }
            }
        }
        println (count)
    }
}

Ezoicreport this adDivisible Sum Pairs Solution in Pascal

var a: array [0..105] of longint;
    i, j, k, n, res: longint;
begin
  readln(n, k);
  for i := 1 to n do 
    read(a[i]);
  res := 0;
  for i := 1 to n - 1 do
    for j := i + 1 to n do
      if ((a[i] + a[j]) mod k = 0) then
        inc(res);
  writeln(res);
end.

Disclaimer: This problem (Divisible Sum Pairs) is generated by HackerRank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: HackerRank Day of the Programmer Solution

Sharing Is Caring

Leave a Comment

Ezoicreport this ad