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.
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); } }
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) } }
Divisible 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.