diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-09-21 21:38:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-21 21:38:47 +0100 |
| commit | e414b6086d29264de16f50cf38808ed68cad5f5c (patch) | |
| tree | 97b761f2908ac7e59925c455f6b0f443c86adba8 | |
| parent | efe627bc1ff8398b695786dc8871aacedf270f68 (diff) | |
| parent | 7445a3719578b7fd43eb82cc45b6ce45264c6d3d (diff) | |
| download | perlweeklychallenge-club-e414b6086d29264de16f50cf38808ed68cad5f5c.tar.gz perlweeklychallenge-club-e414b6086d29264de16f50cf38808ed68cad5f5c.tar.bz2 perlweeklychallenge-club-e414b6086d29264de16f50cf38808ed68cad5f5c.zip | |
Merge pull request #2334 from andemark/branch-for-challenge-079
Challenge 79 Solutions (Raku)
| -rw-r--r-- | challenge-079/mark-anderson/raku/ch-1.raku | 3 | ||||
| -rw-r--r-- | challenge-079/mark-anderson/raku/ch-2.raku | 40 |
2 files changed, 43 insertions, 0 deletions
diff --git a/challenge-079/mark-anderson/raku/ch-1.raku b/challenge-079/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..9d690421e5 --- /dev/null +++ b/challenge-079/mark-anderson/raku/ch-1.raku @@ -0,0 +1,3 @@ +unit sub MAIN($N where * > 0); + +say (1..$N).map(*.base(2)).comb(/1/).elems mod 1000000007; diff --git a/challenge-079/mark-anderson/raku/ch-2.raku b/challenge-079/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..328f3ed5bf --- /dev/null +++ b/challenge-079/mark-anderson/raku/ch-2.raku @@ -0,0 +1,40 @@ +=begin usage + +Usage: raku ch-2.raku 9 3 1 1 4 2 3 2 5 1 5 8 5 5 4 3 1 7 8 9 9 1 9 5 2 2 6 5 + +Output: + +9 # # # # +8 # # # # # # +7 # # # # # # # +6 # # # # # # # # +5 # # # # # # # # # # # # # # +4 # # # # # # # # # # # # # # # # +3 # # # # # # # # # # # # # # # # # # # +2 # # # # # # # # # # # # # # # # # # # # # # # +1 # # # # # # # # # # # # # # # # # # # # # # # # # # # # + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 9 3 1 1 4 2 3 2 5 1 5 8 5 5 4 3 1 7 8 9 9 1 9 5 2 2 6 5 + +111 + +=end usage + +#| MAIN only takes arguments from 1 to 9 +unit sub MAIN(*@ints where (.elems > 0 and .all ~~ 1..9)); + +my $pos = 0; +my $sum = 0; + +for @ints.max...1 -> $n { + say "$n @ints.map({ $_ >= $n ?? "#" !! " " })"; +} + +say " ", " -" x @ints, "\n ", @ints.join(" "); + +while @ints.join ~~ m:c($pos)/ (\d)(\d+)(\d) <?{ $0 > $1.comb.all < $2 }> / { + $sum += (($0, $2).min <<->> $1.comb).sum; + $pos = $/.to - 1; +} + +say "\n", $sum; |
