diff options
Diffstat (limited to 'challenge-079')
| -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; |
