aboutsummaryrefslogtreecommitdiff
path: root/challenge-241
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2023-11-05 14:07:02 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2023-11-05 14:07:02 +0100
commit8be34d477a094e3625a4cf20540241e75840d89b (patch)
tree33bf79e9432756696afa68e40b99f4cc4457d766 /challenge-241
parent8f251958914c45f60ae73eb2a9a216aae78f809e (diff)
downloadperlweeklychallenge-club-8be34d477a094e3625a4cf20540241e75840d89b.tar.gz
perlweeklychallenge-club-8be34d477a094e3625a4cf20540241e75840d89b.tar.bz2
perlweeklychallenge-club-8be34d477a094e3625a4cf20540241e75840d89b.zip
solutions week 241
Diffstat (limited to 'challenge-241')
-rw-r--r--challenge-241/wambash/raku/ch-1.raku19
-rw-r--r--challenge-241/wambash/raku/ch-2.raku17
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-241/wambash/raku/ch-1.raku b/challenge-241/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..6c96a2a267
--- /dev/null
+++ b/challenge-241/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub arithmetic-triplets (+nums, :$diff) {
+ my $num-set = nums.Set;
+
+ nums.grep: { ($_, $_ + $diff, $_ + (2*$diff)) ⊆ $num-set }
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is arithmetic-triplets(0,1,4,6,7,10):3diff,(1,4);
+ is arithmetic-triplets(4,5,6,7,8,9):2diff, (4,5);
+ is arithmetic-triplets(1,2,3,4,5,6):2diff, (1,2);
+ done-testing;
+}
+
+multi MAIN (+nums, :$diff) {
+ say +arithmetic-triplets nums>>.Int, :$diff
+}
diff --git a/challenge-241/wambash/raku/ch-2.raku b/challenge-241/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..a8b6761798
--- /dev/null
+++ b/challenge-241/wambash/raku/ch-2.raku
@@ -0,0 +1,17 @@
+#!/usr/bin/env raku
+use Prime::Factor;
+
+sub prime-order (+int) {
+ int.sort: {prime-factors($_).elems, +$_}
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is prime-order(11,8,27,4),(11,4,8,27);
+ is prime-order(9,11,8,27,4),(11,4,9,8,27);
+ done-testing;
+}
+
+multi MAIN (+int) {
+ put prime-order int
+}