Dovrebbe rispettare le caratteristiche del crivello di erastotene
Codice PHP:
<?php
$quanti = 50;
$numeri = array();
for($i=2;$i<=($quanti+2);$i++){
if($i==$quanti)
$numeri[$i][0] = "fine";
else
$numeri[$i][0] = $i;
}
$num_elem = count($numeri);
$i=2;
while($i<$num_elem && ($i*$i) < $quanti){
echo $i*$i."<".$quanti."<br>";
if($numeri[$i][0]!="fine"){
$n=$numeri[$i][0];
$j=2;
while($j<$num_elem){
if(($numeri[$j][0] > 0) && ($n != $j) && ($numeri[$j][1] != "multiplo") && ($j% $n) == 0){
echo $j."/".$n."<br>";
$numeri[$j][1] = "multiplo";
}
$j++;
}
}
$i++;
}
for($i=2;$i<$num_elem;$i++)
echo $numeri[$i][0]."=".$numeri[$i][1]."<br>";
$i=0;
$j=0;
while($numeri[$j][0] != "fine"){
if($numeri[$j][1] != "multiplo"){
$numeri_primi[$i]=$numeri[$j][0];
$i++;
}
$j++;
}
$num_elem = count($numeri_primi);
for($i=2;$i<$num_elem;$i++) echo ",".$numeri_primi[$i];
echo ".";
?>