diff options
| -rw-r--r-- | challenge-169/mark-anderson/raku/ch-2.raku | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/challenge-169/mark-anderson/raku/ch-2.raku b/challenge-169/mark-anderson/raku/ch-2.raku index 75198c2c74..20d4e0a35e 100644 --- a/challenge-169/mark-anderson/raku/ch-2.raku +++ b/challenge-169/mark-anderson/raku/ch-2.raku @@ -15,12 +15,15 @@ is-deeply Achilles[^100], 15488, 15552, 16000, 16200, 16875, 16928, 17496, 17672, 18000, 18252, 18432, 19208, 19652, 19773, 20000, 20808, 21125, 21168, 21296, 21600); -multi Achilles { (2..*).hyper.grep(&Achilles).flat } +sub Achilles { -multi 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 + 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) } |
