mercoledì 8 giugno 2011

NUMERI PERFETTI

PARTE 1
<html>
<head>
<title>Numeri perfetti</title>
</head>
<body>
<h2><center>Digitare due numeri interi positivi<br>
al fine di visualizzare i numeri perfetti compresi tra<br>
i due numeri acquisiti</center></h2><p><p>
<form action="perfetti_2.php" method="POST">
1<sup>o</sup> Numero: <input name="prinum"><br>
2<sup>o</sup> Numero: <input name="secnum"><p>
<input type="submit" value="invia">
<input type="reset" value="cancella">
</form>
</body>
</html>

PARTE 2
<?php
//inizializzazione delle variabili
$prinum=$_POST['prinum'];$secnum=$_POST['secnum'];
//Controllo che i numeri acquisiti siano interi e positivi
if($prinum>0 and $prinum - floor($prinum)==0 and $secnum>0 and $secnum - floor($secnum)==0) {
//scambio dei numeri se $prinum > $secnum
if($prinum>$secnum) {
$transito=$prinum;
$prinum=$secnum;
$secnum=$transito;
}
/*ciclo di iterazione pre condizionale dal
numero minore ($prinum) al numero maggiore
($secnum)*/
while($prinum<=$secnum) {
/*ciclo di iterazione post condizionale
per sommare i divisori di $prinum
escluso $prinum */
$i=1; $somma=0;
do {
if ($prinum%$i==0) $somma=$somma+$i;
$i++;
} while ($i<=$prinum/2);
if ($prinum==$somma) echo "$prinum &egrave; perfetto.<br>";
$prinum++;
}
}
else echo "Errore! Ridigitare..";

?>

Nessun commento:

Posta un commento