Pagine

8 giu 2011

Numeri primi tra due numeri

nprimi_1.php
<html>
<head>
<title>Numeri primi compresi fra due numeri</title>
</head>
<body>
<h2><center>Digitare due numeri interi positivi</center></h2>
<form action="nprimi_2.php" method="POST">
1<sup>o</sup>numero: <input name="prinum"><br>
2<sup>o</sup>numero: <input name="secnum"><br>
<input type="submit" value="Invia">
<input type="reset" value="Cancella">
</form>
</body>
</html>

nprimi_2.php
<?php
//Inizializzazione delle variabili
$prinum=$_POST['prinum'];
$secnum=$_POST['secnum'];
//Verifica che i numeri siano positivi
if ($prinum >0 and $secnum >0) {
//Verifica che i numeri siano interi
if ($prinum - floor ($prinum) ==0 and $secnum - floor ($secnum) ==0) {
//Scambio dei due numeri se $prinum > $secnum
if ($prinum > $secnum) {
$transito= $prinum;
$prinum= $secnum;
$secnum= $transito;
}
// Ciclo di iterazione da $prinum a $secnum
for ($i=$prinum; $i<=$secnum; $i ++) {
//Verifica che $i sia primo
$flag=0;
for ($j=2; $j<$i; $j ++) {
if ($i%$j==0) $flag=1;
}
if ($flag==0) echo "$i &egrave; primo.<br>";
}
}
else echo "ERRORE!!! Ridigitare ...";
}
else echo "ERRORE!!! Ridigitare ...";
?>