/ Published in: Perl
Expand |
Embed | Plain Text
#!/usr/bin/perl use strict; use warnings; my %abund_hash; my @abund_list; foreach my $n (1..28123){ my $sum = 1; foreach (2..floor($n**0.5)){ if($n % $_ == 0){ $sum += $_; $sum += $n/$_ if (($n/$_) != $_); } } if($sum > $n){ $abund_hash{$n} = 1; } } my $sum = 0; foreach my $n (1..28123){ my $i = 0; $sum += $n; while($n > $abund_list[$i]){ my $key = $n - $abund_list[$i]; if($abund_hash{$key}){ $sum -= $n; last; } $i++; } } print "$sum\n";
You need to login to post a comment.
