From ac19ef2f060bfe577c9f335d08ebf9f53b6c93ca Mon Sep 17 00:00:00 2001 From: Roger Bell_West Date: Wed, 7 Aug 2019 14:53:16 +0100 Subject: More idiomatic, using a SetHash rather than a list --- challenge-020/roger-bell-west/perl6/ch-2.p6 | 12 +++++------- 1 file 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; } -- cgit