my $p = 1; for (my $i=2;;$i++) { my $k = ($i%2==0)?$i/2:$i; my $c = 0; for (my $j=1;$j<=$k;$j++) { $c++ if ($k % $j == 0); } my $d = $p*$c; if ($d>=500) { print "($i-1)*$i/2 has $d divisors\n"; last; } $p = $c; }