diff options
| -rw-r--r-- | challenge-169/mark-anderson/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-169/mark-anderson/raku/ch-2.raku | 19 |
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 +} |
