aboutsummaryrefslogtreecommitdiff
path: root/challenge-305/arne-sommer/raku/binary-prefix
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-305/arne-sommer/raku/binary-prefix')
-rwxr-xr-xchallenge-305/arne-sommer/raku/binary-prefix20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-305/arne-sommer/raku/binary-prefix b/challenge-305/arne-sommer/raku/binary-prefix
new file mode 100755
index 0000000000..f6c8558c50
--- /dev/null
+++ b/challenge-305/arne-sommer/raku/binary-prefix
@@ -0,0 +1,20 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (*@binary where @binary.elems > 0 && all(@binary) eq any(0,1),
+ :v(:$verbose));
+
+my $current = "";
+my @result;
+
+for @binary -> $digit
+{
+ $current ~= $digit;
+
+ my $int = $current.parse-base(2);
+ my $prime = $int.is-prime;
+
+ say ": Binary:$current Int:$int { $prime ?? "prime" !! "not prime" }" if $verbose;
+ @result.push: $prime;
+}
+
+say "({ @result.join(", ")  })";