$a = microtime(true); $d = array(2, 3, 5, 7); $i = 2; for ($b = 11; $b < 1000; $b += $i, $i = 6 - $i) { if ($b % 5 && $b % 7) { if ($b > 49) { $f = sqrt($b); for ($c = 4; $x = $d[$c], $x <= $f; $c++) if (!($b % $x)) continue 2; } $d[] = $b; } } printf("%01.5f\n",microtime(true)-$a); print_r($d);