aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-168/mark-anderson/raku/ch-1.raku5
-rw-r--r--challenge-168/mark-anderson/raku/ch-2.raku16
2 files changed, 21 insertions, 0 deletions
diff --git a/challenge-168/mark-anderson/raku/ch-1.raku b/challenge-168/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..e5680d97a2
--- /dev/null
+++ b/challenge-168/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/usr/bin/env raku
+
+my $p := 3, 0, 2, -> $a, $b, $ { $a + $b } ... *;
+
+say $p.grep(&is-prime).unique.head(13).sort;
diff --git a/challenge-168/mark-anderson/raku/ch-2.raku b/challenge-168/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..4f5c43de9e
--- /dev/null
+++ b/challenge-168/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+# This doesn't work for all numbers but it's a start.
+
+use Prime::Factor;
+
+say (2..79).map(&home-prime);
+
+multi home-prime($n where $n == 49|77) { Any }
+
+multi home-prime($n is copy)
+{
+ $n = prime-factors($n).join.Int;
+ return $n if $n.is-prime;
+ home-prime($n)
+}