Алгоритм Эратосфена

Алгоритм, позволяющий получать простые числа, отличается по быстродействию от приведенного ниже алгоритма с применением Quantum::Superpositions:

$N = 1000000; 

@L = (1) x $N; 

$L[0] = 0; $L[1] = 0; 

$start = 2; 
$t0 = time; 
while($start<$N) { 
  if($L[$start]==0) { $start++; next; } 
  for($i=$start*2;$i<$N;$i+=$start) { $L[$i] = 0; } 
  $start++; 
} 
print "time: ".(time-$t0)."\n"; 

for($i=0;$i<$N;$i++) { 
  print $i." " if($L[$i]==1); 
} 
Программа написана David A. Mzareulyan from http://www.scientific.ru