use strict; my $N = 28123; my $sum; my @ovdiv; for (my $i = 2; $i < $N; ++$i) { my $s = 0; for (my $j = 1; $j <= $i / 2; ++$j) { if ($i % $j == 0) { $s += $j; } } if ($i < $s) { push(@ovdiv, $i); } } my @num = (); for (my $i = 0; $i < $N; ++$i) { $num[$i] = 1; } for (my $i = 0; $i < @ovdiv; ++$i) { for (my $j = $i; $j < @ovdiv; ++$j) { $num[$ovdiv[$i] + $ovdiv[$j]] = 0; } } $sum = 0; for (my $i = 0; $i < @num; ++$i) { if ($num[$i]) { $sum += $i; } } print $sum,"\n";