Challenge 188
Task 1 - Divisible Pairs
You are given list of integers @list of size $n and divisor $k.
Write a script to find out count of pairs in the given list that satisfies the following rules.
The pair (i, j) is eligible if and only if a) 0 <= i < j < len(list) b) list[i] + list[j] is divisible by k
Example 1 Input: @list = (4, 5, 1, 6), $k = 2 Output: 2 Example 2 Input: @list = (1, 2, 3, 4), $k = 2 Output: 2 Example 3 Input: @list = (1, 3, 4, 5), $k = 3 Output: 2 Example 4 Input: @list = (5, 1, 2, 3), $k = 4 Output: 2 Example 5 Input: @list = (7, 2, 4, 5), $k = 4 Output: 1
Raku
Go over all combinations of elements as per rules and check if their sum is divisible by divisor.
unit sub MAIN( Int $divisor, *@list is copy where *.elems > 0 ); @list = @list>>.Int; my Int $pairs; for 0 ... @list.end -> $i { for $i ... @list.end -> $j { next if $i == $j; $pairs++ if (@list[$i] + @list[$j]) %% $divisor; } } put $pairs;