diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2021-12-21 00:23:03 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2021-12-21 00:23:03 +0000 |
| commit | f0d9068ff8f371772b26e35b0926be1c02dd45bd (patch) | |
| tree | a9ca9202f7cf51d6a61732bbff9a8adfbe8efbf6 | |
| parent | 1aa8ecccec917bbdee515fef036e8f84c47dae22 (diff) | |
| download | perlweeklychallenge-club-f0d9068ff8f371772b26e35b0926be1c02dd45bd.tar.gz perlweeklychallenge-club-f0d9068ff8f371772b26e35b0926be1c02dd45bd.tar.bz2 perlweeklychallenge-club-f0d9068ff8f371772b26e35b0926be1c02dd45bd.zip | |
ch-1.raku
| -rw-r--r-- | challenge-144/mark-anderson/raku/ch-1.raku | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-144/mark-anderson/raku/ch-1.raku b/challenge-144/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..6b74750dee --- /dev/null +++ b/challenge-144/mark-anderson/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +use Prime::Factor; +use Test; + +is-deeply (^100).grep(&semi-prime), ( 4, 6, 9, 10, 14, 15, 21, 22, 25, 26, + 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, + 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, + 91, 93, 94, 95); + +is-deeply (^Inf).hyper.grep(&semi-prime)[1000, 2000, 5000, 9999], + (3599, 7454, 19645, 40882); + +sub semi-prime($n) +{ + return True if sqrt($n).is-prime; + + given proper-divisors($n).grep(*.is-prime) + { + return False if .elems !== 2; + return .[0] * .[1] == $n; + } +} |
