aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark A <andemark@a-iot1t.uch.ad.pvt>2021-06-16 03:47:28 -0600
committerMark A <andemark@a-iot1t.uch.ad.pvt>2021-06-16 03:47:28 -0600
commit28d2a3edfb63dc5aa10f942c6fc38ae2859e4400 (patch)
tree940df683f6e21bd560c69dbd26dd3df1737f9636
parent3bd6aae5a9f865596464bbbe683536a1618b89b5 (diff)
downloadperlweeklychallenge-club-28d2a3edfb63dc5aa10f942c6fc38ae2859e4400.tar.gz
perlweeklychallenge-club-28d2a3edfb63dc5aa10f942c6fc38ae2859e4400.tar.bz2
perlweeklychallenge-club-28d2a3edfb63dc5aa10f942c6fc38ae2859e4400.zip
Challenge 117 Solutions (Raku)
-rw-r--r--challenge-117/mark-anderson/raku/ch-1.raku2
-rw-r--r--challenge-117/mark-anderson/raku/ch-2.raku26
2 files changed, 27 insertions, 1 deletions
diff --git a/challenge-117/mark-anderson/raku/ch-1.raku b/challenge-117/mark-anderson/raku/ch-1.raku
index 01f14ebc9b..9f48a8baca 100644
--- a/challenge-117/mark-anderson/raku/ch-1.raku
+++ b/challenge-117/mark-anderson/raku/ch-1.raku
@@ -4,4 +4,4 @@ use Lingua::EN::Numbers;
my $n = (sum 1..15) - (sum 'file.txt'.IO.comb(/\d+/));
-say $n ~ ", Line " ~ cardinal($n).tc;
+say $n ~ ', Line ' ~ cardinal($n).tc;
diff --git a/challenge-117/mark-anderson/raku/ch-2.raku b/challenge-117/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..283a7742cb
--- /dev/null
+++ b/challenge-117/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,26 @@
+#!/usr/bin/env raku
+
+# took me a while to figure out why $x isn't equal to $r + $h - $l :(
+
+sub MAIN($n)
+{
+ travel(0, 0, 0, $n, q{});
+}
+
+sub travel($r, $l, $h, $n, $path)
+{
+ my $x = $r + $h;
+ my $y = $r + $l;
+
+ if all($x, $y) == $n
+ {
+ say $path;
+ }
+
+ else
+ {
+ travel($r + 1, $l, $h, $n, $path ~ 'R') if $y < $n;
+ travel($r, $l, $h + 1, $n, $path ~ 'H') if $h < $l;
+ travel($r, $l + 1, $h, $n, $path ~ 'L') if $y < $n;
+ }
+}