aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-05-26 06:54:00 +0100
committerGitHub <noreply@github.com>2021-05-26 06:54:00 +0100
commit581b155cfe4c42c7061b07f9e756ac7ddc3ea56b (patch)
tree921704ea2741ffc610af2b42e80f7bc602d1f3bb
parentcde73d5be4fda5a32f973fbe0f3f6ba74d1fa35e (diff)
parent40756d3a5744fc33e811f746be20d49c3e843236 (diff)
downloadperlweeklychallenge-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.raku8
-rw-r--r--challenge-114/mark-anderson/raku/ch-2.raku10
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);
}