aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-067/mark-anderson/raku/ch-1.raku5
-rw-r--r--challenge-067/mark-anderson/raku/ch-2.raku21
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-067/mark-anderson/raku/ch-1.raku b/challenge-067/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..6fbf7532e3
--- /dev/null
+++ b/challenge-067/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/usr/bin/env raku
+
+sub MAIN(UInt $m, UInt $n where $m >= $n > 0) {
+ say (1..$m).combinations: $n;
+}
diff --git a/challenge-067/mark-anderson/raku/ch-2.raku b/challenge-067/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..ca96ddd076
--- /dev/null
+++ b/challenge-067/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+multi MAIN(Str $s where $s !~~ /<[2..9]>**2/) {
+ say "Usage: $*PROGRAM-NAME [2..9]**2";
+ say "Example: $*PROGRAM-NAME 3678";
+}
+
+multi MAIN(Str $s) {
+ my %letters = 2 => <a b c>,
+ 3 => <d e f>,
+ 4 => <g h i>,
+ 5 => <j k l>,
+ 6 => <m n o>,
+ 7 => <p q r s>,
+ 8 => <t u v>,
+ 9 => <w x y z>;
+
+ my @arr = gather { take %letters{$_} for $s.comb }
+
+ say ([X] @arr).map(*.join).rotor(10, :partial).join("\n");
+}