aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-020/mark-anderson/perl5/ch-2.pl18
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;
}
}