aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-01-27 00:17:08 +0000
committerGitHub <noreply@github.com>2025-01-27 00:17:08 +0000
commit825fa59b9bba8369905f69c2b2e46b7a387c2d80 (patch)
treef9546b6f1096ea92afb2af3b58c0db61eaa78de8
parent103eb5494fb3a3817820f6f18dd1e67bbcd38aff (diff)
parent22f5e814969f90f8bd48bd00863e816091445afe (diff)
downloadperlweeklychallenge-club-825fa59b9bba8369905f69c2b2e46b7a387c2d80.tar.gz
perlweeklychallenge-club-825fa59b9bba8369905f69c2b2e46b7a387c2d80.tar.bz2
perlweeklychallenge-club-825fa59b9bba8369905f69c2b2e46b7a387c2d80.zip
Merge pull request #11493 from BarrOff/barroff-305
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);
+}