From f0d9068ff8f371772b26e35b0926be1c02dd45bd Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Tue, 21 Dec 2021 00:23:03 +0000 Subject: ch-1.raku --- challenge-144/mark-anderson/raku/ch-1.raku | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 challenge-144/mark-anderson/raku/ch-1.raku 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; + } +} -- cgit From f4c5e54756a120462dbd7496d7605eb2c3d166fa Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Tue, 21 Dec 2021 11:09:30 +0000 Subject: ch-1.raku --- challenge-144/mark-anderson/raku/ch-1.raku | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/challenge-144/mark-anderson/raku/ch-1.raku b/challenge-144/mark-anderson/raku/ch-1.raku index 6b74750dee..8d0a4b3b3d 100644 --- a/challenge-144/mark-anderson/raku/ch-1.raku +++ b/challenge-144/mark-anderson/raku/ch-1.raku @@ -13,11 +13,7 @@ is-deeply (^Inf).hyper.grep(&semi-prime)[1000, 2000, 5000, 9999], 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; - } + my @div = proper-divisors($n).skip; + return False if @div ~~ Empty; + return @div.grep(*.is-prime) == @div; } -- cgit From 84e35736592b8464cbaef30fe28680c77f9db0d7 Mon Sep 17 00:00:00 2001 From: Mark <53903062+andemark@users.noreply.github.com> Date: Tue, 21 Dec 2021 11:14:43 +0000 Subject: ch-1.raku --- challenge-144/mark-anderson/raku/ch-1.raku | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-144/mark-anderson/raku/ch-1.raku b/challenge-144/mark-anderson/raku/ch-1.raku index 8d0a4b3b3d..e5e68b46d6 100644 --- a/challenge-144/mark-anderson/raku/ch-1.raku +++ b/challenge-144/mark-anderson/raku/ch-1.raku @@ -13,7 +13,7 @@ is-deeply (^Inf).hyper.grep(&semi-prime)[1000, 2000, 5000, 9999], sub semi-prime($n) { - my @div = proper-divisors($n).skip; + my @div = proper-divisors($n, :s).skip; return False if @div ~~ Empty; return @div.grep(*.is-prime) == @div; } -- cgit