diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2022-06-13 08:01:06 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2022-06-13 08:01:06 +0000 |
| commit | 19802bc80f88327a107ae5b2f0bf21a32ea437e4 (patch) | |
| tree | 606f71eef44ca67b95042a9a9e18bece8df2c2d6 | |
| parent | 73b56de63d9997722f70e53fd1a36a9aea832256 (diff) | |
| download | perlweeklychallenge-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.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 +} |
