diff options
| -rw-r--r-- | challenge-020/mark-anderson/perl5/ch-2.pl | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/challenge-020/mark-anderson/perl5/ch-2.pl b/challenge-020/mark-anderson/perl5/ch-2.pl index 6eadcf8d15..5555fa8222 100644 --- a/challenge-020/mark-anderson/perl5/ch-2.pl +++ b/challenge-020/mark-anderson/perl5/ch-2.pl @@ -5,19 +5,17 @@ use List::Util 'sum'; use Math::Factor::XS 'factors'; my %sum; -my $num_1; +my $num; while(1) { - $num_1++; - $sum{$num_1} = sum(1, factors($num_1)); - my $sum_1 = $sum{$num_1}; - my $num_2 = $sum_1; - next if $num_1 == $num_2; - $sum{$num_2} // next; - my $sum_2 = $sum{$num_2}; + $num++; + my $sum = $sum{$num} = sum(1, factors($num)); - if($num_1 == $sum_2) { - say "$sum_1, $sum_2"; + $num != $sum || next; + $sum{$sum} // next; + + if($num == $sum{$sum}) { + say "$sum, $num"; last; } } |
