From 40756d3a5744fc33e811f746be20d49c3e843236 Mon Sep 17 00:00:00 2001 From: Mark A Date: Tue, 25 May 2021 16:19:51 -0600 Subject: both cleaned up --- challenge-114/mark-anderson/raku/ch-1.raku | 8 +++----- challenge-114/mark-anderson/raku/ch-2.raku | 10 ++++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/challenge-114/mark-anderson/raku/ch-1.raku b/challenge-114/mark-anderson/raku/ch-1.raku index caecfd4270..d511d26b0a 100644 --- a/challenge-114/mark-anderson/raku/ch-1.raku +++ b/challenge-114/mark-anderson/raku/ch-1.raku @@ -31,13 +31,11 @@ multi next-palindrome-number($N) sub partition($N) { - my @N = $N.comb; - my $mid = @N.elems div 2; - my @left = @N[^$mid]; + my @left = $N.comb; my $middle = q{}; - my @right = @N[$mid..*]; + my @right = @left.splice(+@left div 2); - unless @left.end == @right.end + if @left < @right { $middle = @right.shift; } diff --git a/challenge-114/mark-anderson/raku/ch-2.raku b/challenge-114/mark-anderson/raku/ch-2.raku index 97cf9bea64..6d9ea79898 100644 --- a/challenge-114/mark-anderson/raku/ch-2.raku +++ b/challenge-114/mark-anderson/raku/ch-2.raku @@ -19,12 +19,10 @@ is next-set-bits(2³²), 2³³; sub next-set-bits($N) { my $bits = 0 ~ $N.base(2); - - my $m = $bits ~~ / $ = <[01]>* 0 $ = 1+ $ = 0* /; + my $m = $bits ~~ / $ = <[01]>* 01 $ = 1* $ = 0* /; - my @ones = $m.comb andthen .shift; - my @bits = @ones andthen .append($m.comb); - @bits .= rotate(@ones); + my @ones = $m.comb; + my @bits = (@ones, $m.comb).flat.Array.rotate(@ones); - $m ~ 10 ~ @bits.join andthen .parse-base(2); + ($m ~ 10 ~ @bits.join).parse-base(2); } -- cgit