diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-12-01 18:15:02 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-01 18:15:02 +0000 |
| commit | 2a8c060594d92def54f014724e9b9d09a5d24265 (patch) | |
| tree | ccf8235a580d00296b8fc2c4805f543349d52ec0 | |
| parent | 64dfae2f3fc3dcb409fa213012b9f3da1010519e (diff) | |
| parent | ae5ffc0af2fd30754b16536d506605a3c55255de (diff) | |
| download | perlweeklychallenge-club-2a8c060594d92def54f014724e9b9d09a5d24265.tar.gz perlweeklychallenge-club-2a8c060594d92def54f014724e9b9d09a5d24265.tar.bz2 perlweeklychallenge-club-2a8c060594d92def54f014724e9b9d09a5d24265.zip | |
Merge pull request #5306 from andemark/branch-for-challenge-141
Challenge 141 Solutions (Raku)
| -rw-r--r-- | challenge-141/mark-anderson/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-141/mark-anderson/raku/ch-2.raku | 18 |
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-141/mark-anderson/raku/ch-1.raku b/challenge-141/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..5a65a0f2e3 --- /dev/null +++ b/challenge-141/mark-anderson/raku/ch-1.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku + +use Prime::Factor; +use Test; +plan 2; + +is-deeply number-divisors(8)[^10], + (24, 30, 40, 42, 54, 56, 66, 70, 78, 88), 'example 1'; + +is-deeply number-divisors(8)[^10000].tail(5), + (45626, 45627, 45638, 45642, 45646), 'hyper ftw!'; + +sub number-divisors(\n) +{ + (^Inf).hyper.grep({ divisors($_) == n }); +} diff --git a/challenge-141/mark-anderson/raku/ch-2.raku b/challenge-141/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..b0b3b69fe7 --- /dev/null +++ b/challenge-141/mark-anderson/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +use Test; +plan 4; + +is like-numbers(1234, 2), 9, '1234, 2 = (2 4 12 14 24 34 124 134 234)'; +is like-numbers( 768, 4), 3, ' 768, 4 = (8 76 68)'; +is like-numbers(1008, 2), 6, '1008, 2 = (0 8 10 18 100 108)'; +is like-numbers(7777, 7), 3, '7777, 7 = (7 77 777)'; + +sub like-numbers($m is copy, \n) +{ + $m .= comb; + $m.combinations(1..^+$m).map(+*.join) + .grep(* %% n) + .unique + .Int; +} |
