aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-020/mark-anderson/perl5/ch-2.pl17
1 files changed, 7 insertions, 10 deletions
diff --git a/challenge-020/mark-anderson/perl5/ch-2.pl b/challenge-020/mark-anderson/perl5/ch-2.pl
index b3f29fd3bf..6eadcf8d15 100644
--- a/challenge-020/mark-anderson/perl5/ch-2.pl
+++ b/challenge-020/mark-anderson/perl5/ch-2.pl
@@ -5,22 +5,19 @@ use List::Util 'sum';
use Math::Factor::XS 'factors';
my %sum;
-
-my $num_1 = 0;
+my $num_1;
while(1) {
$num_1++;
-
- my $num_2 = sum (1, factors($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_1} = $num_2;
-
$sum{$num_2} // next;
+ my $sum_2 = $sum{$num_2};
- if($num_1 == $sum{$num_2}) {
- say "$num_2, $num_1";
+ if($num_1 == $sum_2) {
+ say "$sum_1, $sum_2";
last;
}
}