aboutsummaryrefslogtreecommitdiff
path: root/challenge-079
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-079')
-rw-r--r--challenge-079/mark-anderson/raku/ch-1.raku3
-rw-r--r--challenge-079/mark-anderson/raku/ch-2.raku40
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;