From 22f5e814969f90f8bd48bd00863e816091445afe Mon Sep 17 00:00:00 2001 From: BarrOff <58253563+BarrOff@users.noreply.github.com> Date: Sun, 26 Jan 2025 23:55:26 +0100 Subject: feat: add solution for challenge 305 from BarrOff --- challenge-305/barroff/raku/ch-1.p6 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 challenge-305/barroff/raku/ch-1.p6 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); +} -- cgit