aboutsummaryrefslogtreecommitdiff
path: root/challenge-277/andinus/README
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2024-07-08 03:05:52 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2024-07-08 03:05:52 +0100
commit996112d2e3daa2be2425e08aec3ce172f71b841b (patch)
tree5d1f5855d10028897d0815432918bf58f706d424 /challenge-277/andinus/README
parent2ab3d698fb81766cb03a1a14d54d1d7c4f1bcc1a (diff)
downloadperlweeklychallenge-club-996112d2e3daa2be2425e08aec3ce172f71b841b.tar.gz
perlweeklychallenge-club-996112d2e3daa2be2425e08aec3ce172f71b841b.tar.bz2
perlweeklychallenge-club-996112d2e3daa2be2425e08aec3ce172f71b841b.zip
- Added template for week 277.
Diffstat (limited to 'challenge-277/andinus/README')
-rw-r--r--challenge-277/andinus/README69
1 files changed, 69 insertions, 0 deletions
diff --git a/challenge-277/andinus/README b/challenge-277/andinus/README
new file mode 100644
index 0000000000..ad1a4a32fa
--- /dev/null
+++ b/challenge-277/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;
+ └────