aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-144/mark-anderson/raku/ch-1.raku10
1 files 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;
}