Nesto mi je palo na pamet da vrtim proste brojeve. Napravio sam funkciju koja provjerava da li je broj prost. Pokusao sam da izlistam sve brojeve koji su prosti u intervalu od jedinice do 50 000. Evo funkcija:
function prost_br($broj) {
$do = intval($broj / 2) + 1;
$od = 2;
for ($delitelj = $od; $delitelj <= $do; ++$delitelj) {
$rezultat = $broj / $delitelj;
if (! is_int($rezultat) ) {
$izlaz = $broj;
} else {
$izlaz = false;
break;
} /* if */
} /* for */
return($izlaz);
} /* function */
E, sad da dam i kod za "vrtesku":
echo('<pre>');
for ($i = 1; $i <= 50000; ++$i) {
$test = prost_br($i);
if ($test != false) {
echo $test . "\n";
} /* if */
} /* for */
echo('</pre>');
Problem je sledeci:
Na mom kompjuteru uspijevam da doguram do cifre nesto vece od 11113 za 30 sekundi koliko mi je max exec time. Smatram da je ovo sporo! Moze li neko od vas, ko bolje zna matematiku, da smisli brze resenje?
p.s. Prost broj je broj koji je deljiv samo sa sobom i sa jedinicom (1, 3, 5, 7, 11, 13...)! (neka se oni koji znaju ovo ne uvrijede
