aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-020/roger-bell-west/perl6/ch-2.p612
1 files changed, 5 insertions, 7 deletions
diff --git a/challenge-020/roger-bell-west/perl6/ch-2.p6 b/challenge-020/roger-bell-west/perl6/ch-2.p6
index 519f2c8866..5b803cfb6b 100755
--- a/challenge-020/roger-bell-west/perl6/ch-2.p6
+++ b/challenge-020/roger-bell-west/perl6/ch-2.p6
@@ -16,15 +16,13 @@ while (1) {
}
sub divisors_unself ($k) {
- my @d=(1);
- my @e;
+ my SetHash $dd .= new;
+ $dd{ 1 }++;
for 2..$k.sqrt.Int -> $d {
if ($k % $d == 0) {
- push @d,$d,$k/$d;
- if @d[*-1] == $d {
- pop @d;
- }
+ $dd{ $d }++;
+ $dd{ $k/$d }++;
}
}
- return @d;
+ return $dd.keys;
}