aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2022-06-13 08:01:06 +0000
committerMark <53903062+andemark@users.noreply.github.com>2022-06-13 08:01:06 +0000
commit19802bc80f88327a107ae5b2f0bf21a32ea437e4 (patch)
tree606f71eef44ca67b95042a9a9e18bece8df2c2d6
parent73b56de63d9997722f70e53fd1a36a9aea832256 (diff)
downloadperlweeklychallenge-club-19802bc80f88327a107ae5b2f0bf21a32ea437e4.tar.gz
perlweeklychallenge-club-19802bc80f88327a107ae5b2f0bf21a32ea437e4.tar.bz2
perlweeklychallenge-club-19802bc80f88327a107ae5b2f0bf21a32ea437e4.zip
Challenge 169 Solutions (Raku)
-rw-r--r--challenge-169/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-169/mark-anderson/raku/ch-2.raku19
2 files changed, 13 insertions, 19 deletions
diff --git a/challenge-169/mark-anderson/raku/ch-1.raku b/challenge-169/mark-anderson/raku/ch-1.raku
index e6e7ed1db2..a544270be7 100644
--- a/challenge-169/mark-anderson/raku/ch-1.raku
+++ b/challenge-169/mark-anderson/raku/ch-1.raku
@@ -8,13 +8,10 @@ is-deeply brilliant[990..999], (50429, 50467, 50573, 50621, 50629, 50657, 50689,
is-deeply brilliant[9990..9999], (694151, 694691, 694921, 694931, 695027, 695273, 695399, 695531, 695683, 696191);
-sub brilliant
+multi brilliant { (1, 10, 100...*).map(&brilliant).flat }
+
+multi brilliant(\n)
{
- sub brilliant(\n)
- {
- my \primes = (n..^n*10).grep(&is-prime).List;
- sort unique primes X* primes;
- }
-
- (1, 10, 100...*).map(&brilliant).flat
+ my \primes = (n..^n*10).grep(&is-prime).List;
+ sort unique primes X* primes
}
diff --git a/challenge-169/mark-anderson/raku/ch-2.raku b/challenge-169/mark-anderson/raku/ch-2.raku
index 48bb0927db..75198c2c74 100644
--- a/challenge-169/mark-anderson/raku/ch-2.raku
+++ b/challenge-169/mark-anderson/raku/ch-2.raku
@@ -15,15 +15,12 @@ is-deeply Achilles[^100],
15488, 15552, 16000, 16200, 16875, 16928, 17496, 17672, 18000, 18252,
18432, 19208, 19652, 19773, 20000, 20808, 21125, 21168, 21296, 21600);
-sub Achilles
+multi Achilles { (2..*).hyper.grep(&Achilles).flat }
+
+multi Achilles(\n)
{
- sub Achilles(\n)
- {
- my \pf = prime-factors(n).List;
- my \powerful = so n %% all pf.squish >>**>> 2;
- my \imperfect = ([gcd] pf.Bag.values) == 1;
- powerful and imperfect
- }
-
- (2..*).hyper.grep(&Achilles)
-}
+ my \pf = prime-factors(n).List;
+ my \powerful = so n %% all pf.squish >>**>> 2;
+ my \imperfect = ([gcd] pf.Bag.values) == 1;
+ powerful and imperfect
+}