aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-134/mark-anderson/raku/ch-1.raku11
-rw-r--r--challenge-134/mark-anderson/raku/ch-2.raku15
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-134/mark-anderson/raku/ch-1.raku b/challenge-134/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..82bea0e855
--- /dev/null
+++ b/challenge-134/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+
+say pandigital(100);
+say pandigital(999);
+say pandigital(^5);
+say pandigital(400, 300, 200, 100, 0);
+
+sub pandigital(+$arr where .all ~~ UInt)
+{
+ (1023456789.comb.permutations)[|$arr]>>.join.join(', ');
+}
diff --git a/challenge-134/mark-anderson/raku/ch-2.raku b/challenge-134/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..aaaf0b1182
--- /dev/null
+++ b/challenge-134/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+
+unit sub MAIN(UInt $r, UInt $c);
+
+my @table;
+
+@table[.head;.tail] = .head.succ * .tail.succ for ^$r X ^$c;
+
+my @uniq = @table>>.Slip.flat.unique.sort;
+
+my $fmt = ($r * $c).chars;
+
+say .fmt("%{$fmt}d").substr($fmt - $r.chars) for @table;
+
+say "\nDistinct Terms: ", @uniq.join(", "), "\nCount: ", +@uniq;