aboutsummaryrefslogtreecommitdiff
path: root/challenge-208/andinus
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-03-13 23:12:14 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-03-13 23:12:14 +0000
commit0f4a809c0bead5e3fd8bc4616e1c011c9d6fb8a9 (patch)
treedeec3e07ffbf6388fd2452c87992db3e831afa62 /challenge-208/andinus
parent5b5bcf076ce580347a2797713fc2866da8a43d31 (diff)
downloadperlweeklychallenge-club-0f4a809c0bead5e3fd8bc4616e1c011c9d6fb8a9.tar.gz
perlweeklychallenge-club-0f4a809c0bead5e3fd8bc4616e1c011c9d6fb8a9.tar.bz2
perlweeklychallenge-club-0f4a809c0bead5e3fd8bc4616e1c011c9d6fb8a9.zip
- Added template for week 208.
Diffstat (limited to 'challenge-208/andinus')
-rw-r--r--challenge-208/andinus/README69
1 files changed, 69 insertions, 0 deletions
diff --git a/challenge-208/andinus/README b/challenge-208/andinus/README
new file mode 100644
index 0000000000..ad1a4a32fa
--- /dev/null
+++ b/challenge-208/andinus/README
@@ -0,0 +1,69 @@
+ ━━━━━━━━━━━━━━━
+ CHALLENGE 188
+
+ Andinus
+ ━━━━━━━━━━━━━━━
+
+
+ 2022-10-27
+
+
+
+
+
+1 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
+ └────
+
+
+1.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;
+ └────