From c7c05e77d7d8a112b8338eb8b1fb58b81e0f20e3 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 21 Sep 2020 01:24:40 -0600 Subject: Challenge 79 Solutions (Raku) --- challenge-079/mark-anderson/raku/ch-1.raku | 3 +++ challenge-079/mark-anderson/raku/ch-2.raku | 37 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 challenge-079/mark-anderson/raku/ch-1.raku create mode 100644 challenge-079/mark-anderson/raku/ch-2.raku 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..99e060c88f --- /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).indices(1)).sum 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..d3ee9a7606 --- /dev/null +++ b/challenge-079/mark-anderson/raku/ch-2.raku @@ -0,0 +1,37 @@ +=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 # # # # # # # # # # # # # # # # # # # # # # # # # # # # + +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 ?? "#" !! " " })"; +} + +while @ints.join ~~ m:c($pos)/ (\d)(\d+)(\d) $1.comb.all < $2 }> / { + $sum += (($0, $2).min <<->> $1.comb).sum; + + $pos = $/.to - 1; +} + +say "\n", $sum; -- cgit From dd7bef349a1197e46bdf1c12a44bcea3107485fd Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 21 Sep 2020 12:50:48 -0600 Subject: Challenge 79 Solutions (Raku) --- challenge-079/mark-anderson/raku/ch-1.raku | 2 +- challenge-079/mark-anderson/raku/ch-2.raku | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/challenge-079/mark-anderson/raku/ch-1.raku b/challenge-079/mark-anderson/raku/ch-1.raku index 99e060c88f..0c6bceb3b3 100644 --- a/challenge-079/mark-anderson/raku/ch-1.raku +++ b/challenge-079/mark-anderson/raku/ch-1.raku @@ -1,3 +1,3 @@ unit sub MAIN($N where * > 0); -say (1..$N).map(*.base(2).indices(1)).sum mod 1000000007; +say (1..$N).map(*.base(2)).comb.sum mod 1000000007; diff --git a/challenge-079/mark-anderson/raku/ch-2.raku b/challenge-079/mark-anderson/raku/ch-2.raku index d3ee9a7606..5cdb57761c 100644 --- a/challenge-079/mark-anderson/raku/ch-2.raku +++ b/challenge-079/mark-anderson/raku/ch-2.raku @@ -13,6 +13,8 @@ Output: 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 @@ -28,6 +30,8 @@ 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) $1.comb.all < $2 }> / { $sum += (($0, $2).min <<->> $1.comb).sum; -- cgit From 778b4ee84076081c2df48d50dd133d80726e8472 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 21 Sep 2020 12:57:18 -0600 Subject: Challenge 79 Solutions (Raku) --- challenge-079/mark-anderson/raku/ch-2.raku | 1 - 1 file changed, 1 deletion(-) diff --git a/challenge-079/mark-anderson/raku/ch-2.raku b/challenge-079/mark-anderson/raku/ch-2.raku index 5cdb57761c..328f3ed5bf 100644 --- a/challenge-079/mark-anderson/raku/ch-2.raku +++ b/challenge-079/mark-anderson/raku/ch-2.raku @@ -34,7 +34,6 @@ say " ", " -" x @ints, "\n ", @ints.join(" "); while @ints.join ~~ m:c($pos)/ (\d)(\d+)(\d) $1.comb.all < $2 }> / { $sum += (($0, $2).min <<->> $1.comb).sum; - $pos = $/.to - 1; } -- cgit From 7445a3719578b7fd43eb82cc45b6ce45264c6d3d Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 21 Sep 2020 13:15:56 -0600 Subject: Challenge 79 Solutions (Raku) --- challenge-079/mark-anderson/raku/ch-1.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-079/mark-anderson/raku/ch-1.raku b/challenge-079/mark-anderson/raku/ch-1.raku index 0c6bceb3b3..9d690421e5 100644 --- a/challenge-079/mark-anderson/raku/ch-1.raku +++ b/challenge-079/mark-anderson/raku/ch-1.raku @@ -1,3 +1,3 @@ unit sub MAIN($N where * > 0); -say (1..$N).map(*.base(2)).comb.sum mod 1000000007; +say (1..$N).map(*.base(2)).comb(/1/).elems mod 1000000007; -- cgit