questa è la prima cosa che mi è venuta in mente, dovrebbe essere anche ottimizzata perché il ciclo si stoppa alla metà del valore originale (oltre la metà è inutile trovare un divisore prechè non ce ne saranno mai)
Codice PHP:<?php
function checkPrimo($n){
if ($n==0 || $n=='')
return false;
if ($n==1 || $n==2)
return true;
for ($i=2; $i<=ceil($n/2); $i++){
if ($n%$i==0) return false;
}
return true;
}
for ($k=1;$k<=10;$k++){
echo (checkPrimo($k))?"{$k} è primo":"{$k} non è primo";
echo "
";
}
?>
p.s. ho usato solo for e if come hai dettoanche perché altro non serve


anche perché altro non serve
Rispondi quotando