diff options
| author | BarrOff <58253563+BarrOff@users.noreply.github.com> | 2025-01-26 23:55:26 +0100 |
|---|---|---|
| committer | BarrOff <58253563+BarrOff@users.noreply.github.com> | 2025-01-26 23:55:26 +0100 |
| commit | 22f5e814969f90f8bd48bd00863e816091445afe (patch) | |
| tree | 0952fb4a9c84a6546ffdec35c2b78852ce016795 | |
| parent | 92bb6e8cd849038dcb7cfca69fab6413225cd19a (diff) | |
| download | perlweeklychallenge-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.p6 | 25 |
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); +} |
