aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2021-10-11 07:56:55 +0000
committerMark <53903062+andemark@users.noreply.github.com>2021-10-11 07:56:55 +0000
commit076d17ee0a1fdd8ccfdd44615b366629877bf7b4 (patch)
tree136e95e5dc59ea6a76172131f718f6ac29b026d9
parent7f103dc8430b8194e2d5d96c5d675a9d9fff20f2 (diff)
downloadperlweeklychallenge-club-076d17ee0a1fdd8ccfdd44615b366629877bf7b4.tar.gz
perlweeklychallenge-club-076d17ee0a1fdd8ccfdd44615b366629877bf7b4.tar.bz2
perlweeklychallenge-club-076d17ee0a1fdd8ccfdd44615b366629877bf7b4.zip
Challenge 134 Solutions (Raku)
-rw-r--r--challenge-134/mark-anderson/raku/ch-1.raku16
-rw-r--r--challenge-134/mark-anderson/raku/ch-2.raku15
2 files changed, 31 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..ff78af9b7d
--- /dev/null
+++ b/challenge-134/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+say pandigital(100);
+say pandigital(999);
+say pandigital(^5);
+say pandigital(400, 300, 200, 100, 0);
+
+multi pandigital(UInt $i)
+{
+ (1023456789.comb.permutations)[$i].join;
+}
+
+multi pandigital(+$arr where .all ~~ UInt)
+{
+ (1023456789.comb.permutations)[|$arr]>>.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;