aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-06-16 11:03:44 +0100
committerGitHub <noreply@github.com>2021-06-16 11:03:44 +0100
commitd72fa4c70ddd4020c3f80f267b334b8775194a11 (patch)
treee8fe1a2fe493358dba651eb8d6267db0782834b0
parent3259985e5397b84163911a83fcff2678dfd4e34a (diff)
parenteb9b1ea69ce5ec7fb89081072161ff03054121a1 (diff)
downloadperlweeklychallenge-club-d72fa4c70ddd4020c3f80f267b334b8775194a11.tar.gz
perlweeklychallenge-club-d72fa4c70ddd4020c3f80f267b334b8775194a11.tar.bz2
perlweeklychallenge-club-d72fa4c70ddd4020c3f80f267b334b8775194a11.zip
Merge pull request #4277 from andemark/branch-for-challenge-117
Branch for challenge 117
-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..1c3414f88f
--- /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)
+{
+ traverse(0, 0, 0, $n, q{});
+}
+
+sub traverse($r, $l, $h, $n, $path)
+{
+ my $x = $r + $h;
+ my $y = $r + $l;
+
+ if all($x, $y) == $n
+ {
+ say $path;
+ }
+
+ else
+ {
+ traverse($r + 1, $l, $h, $n, $path ~ 'R') if $y < $n;
+ traverse($r, $l, $h + 1, $n, $path ~ 'H') if $h < $l;
+ traverse($r, $l + 1, $h, $n, $path ~ 'L') if $y < $n;
+ }
+}