From c141a82d20d3ebf8ce3112e30ad048b7cb62f764 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 6 Apr 2020 07:44:32 -0600 Subject: ch-1.p6 --- challenge-055/mark-anderson/raku/ch-1.p6 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 challenge-055/mark-anderson/raku/ch-1.p6 diff --git a/challenge-055/mark-anderson/raku/ch-1.p6 b/challenge-055/mark-anderson/raku/ch-1.p6 new file mode 100644 index 0000000000..e7417ec445 --- /dev/null +++ b/challenge-055/mark-anderson/raku/ch-1.p6 @@ -0,0 +1,26 @@ +#!/usr/bin/env raku + +sub MAIN(Str $binary) { + my @LR = (0 .. $binary.chars-1).combinations: 2; + + for (0 .. $binary.chars-1) -> $n { + @LR.push(($n, $n)); + } + + my %results; + + for @LR -> ($l, $r) { + my $left = $binary.substr(0, $l); + my $middle = $binary.substr($l, $r+1-$l); + my $right = $binary.substr($r+1); + + $middle = (("0b" ~ $middle).Int +^ ("0b" ~ "1" x $middle.chars).Int) + .fmt("%0" ~ $middle.chars ~ "b"); + + my $result = $left ~ $middle ~ $right; + %results{"($l, $r)"} = $result.comb(/1/).elems; + } + + my $max = %results.values.max; + .say if .value == $max for %results.sort; +} -- cgit