aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarrOff <58253563+BarrOff@users.noreply.github.com>2025-01-26 23:55:26 +0100
committerBarrOff <58253563+BarrOff@users.noreply.github.com>2025-01-26 23:55:26 +0100
commit22f5e814969f90f8bd48bd00863e816091445afe (patch)
tree0952fb4a9c84a6546ffdec35c2b78852ce016795
parent92bb6e8cd849038dcb7cfca69fab6413225cd19a (diff)
downloadperlweeklychallenge-club-22f5e814969f90f8bd48bd00863e816091445afe.tar.gz
perlweeklychallenge-club-22f5e814969f90f8bd48bd00863e816091445afe.tar.bz2
perlweeklychallenge-club-22f5e814969f90f8bd48bd00863e816091445afe.zip
feat: add solution for challenge 305 from BarrOff
-rw-r--r--challenge-305/barroff/raku/ch-1.p625
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-305/barroff/raku/ch-1.p6 b/challenge-305/barroff/raku/ch-1.p6
new file mode 100644
index 0000000000..a4fc38c70d
--- /dev/null
+++ b/challenge-305/barroff/raku/ch-1.p6
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+
+use v6.d;
+
+sub binary-prefix(@binary --> Seq) {
+ my Int $s = 0;
+ map({ $s = 2 * $s + $_; $s.is-prime; }, @binary);
+}
+
+#| Run test cases
+multi sub MAIN('test') {
+ use Test;
+ plan 3;
+
+ is binary-prefix([1, 0 , 1]), [False, True, True], 'works for [1, 0, 1]';
+ is binary-prefix([1, 1 , 0]), [False, True, False], 'works for [1, 1, 0]';
+ is binary-prefix([1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1]),
+ [False, True, True, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, True],
+ 'works for case 3';
+}
+
+#| Take user provided number like 1 0 1
+multi sub MAIN(*@binary where .all ~~ /^ (0|1) $/) {
+ say binary-prefix(@binary);
+}