diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-05-26 06:54:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-26 06:54:00 +0100 |
| commit | 581b155cfe4c42c7061b07f9e756ac7ddc3ea56b (patch) | |
| tree | 921704ea2741ffc610af2b42e80f7bc602d1f3bb | |
| parent | cde73d5be4fda5a32f973fbe0f3f6ba74d1fa35e (diff) | |
| parent | 40756d3a5744fc33e811f746be20d49c3e843236 (diff) | |
| download | perlweeklychallenge-club-581b155cfe4c42c7061b07f9e756ac7ddc3ea56b.tar.gz perlweeklychallenge-club-581b155cfe4c42c7061b07f9e756ac7ddc3ea56b.tar.bz2 perlweeklychallenge-club-581b155cfe4c42c7061b07f9e756ac7ddc3ea56b.zip | |
Merge pull request #4150 from andemark/branch-for-challenge-114
both cleaned up
| -rw-r--r-- | challenge-114/mark-anderson/raku/ch-1.raku | 8 | ||||
| -rw-r--r-- | 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 ~~ / $<head> = <[01]>* 0 $<ones> = 1+ $<zeros> = 0* /; + my $m = $bits ~~ / $<head> = <[01]>* 01 $<ones> = 1* $<zeros> = 0* /; - my @ones = $m<ones>.comb andthen .shift; - my @bits = @ones andthen .append($m<zeros>.comb); - @bits .= rotate(@ones); + my @ones = $m<ones>.comb; + my @bits = (@ones, $m<zeros>.comb).flat.Array.rotate(@ones); - $m<head> ~ 10 ~ @bits.join andthen .parse-base(2); + ($m<head> ~ 10 ~ @bits.join).parse-base(2); } |
