In this Divisible Sum Pairs problem you have 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.
Problem solution in Python programming.
#!/bin/python3 import sys n,k = input().strip().split(' ') n,k = [int(n),int(k)] a = [int(a_temp) for a_temp in input().strip().split(' ')] acc = 0 for i, e in enumerate(a): for j in range(i+1, len(a)): acc += (e + a[j]) % k == 0 print(acc)
Problem solution in Java Programming.
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) { 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(); } int cnt=0; for (int i = 0 ;i<n-1;i++) { for (int j=i+1;j<n;j++) { if ((a[i]+a[j]) % k == 0) cnt ++; } } System.out.println(cnt); } }
Problem solution in C++ programming.
#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; }
Problem solution in C programming.
#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; 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]); } int sum = 0; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { if ( (a[i]+a[j])%k == 0) sum++; } } printf("%dn",sum); return 0; }
Problem solution in JavaScript programming.
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); count = 0; for(i = 0; i < n; i++) { for(j = 0; j < n; j++) { if((i < j) && (((a[i] + a[j]) % k) == 0)) { count++; } } } console.log(count); }