Scomposizione di $N in fattori primi:
";
/*
* vediamo se e quante volte 2 divide $N
*/
$kexp=conta_esponente($N,2);
/*
* se 2 ha diviso almeno una volta $N il contatore $kexp sarà diverso da zero
*/
if($kexp!=0){
/*
* mostriamo il divisore 2 e il relativo esponente
* notare l'uso del tag
*/
echo "2$kexp ";
}
/*
* tentiamo di dividere per 3,5,7,....fino a radice di N
*/
$k=3;
while($k<=sqrt($N)){
/*
* vediamo se e quante volte $k divide $N
*/
$kexp=conta_esponente($N,$k);
/*
* se k ha diviso almeno una volta, $kexp sarà diverso da zero
*/
if($kexp!=0){
echo "$k$kexp ";
}
/*
* passiamo al prossimo candidato divisore dispari
*/
$k+=2;
}
/*
* $n contiene l'ltimo fattore primo della scomposizione;
* lo mostriamo solo se è diverso da 1
*/
if($N!=1){
echo" $N";
}
echo "
ULTIMO DIVISORE: ".($k-2);
/*
* sommo il tempo finale all'opposto del tempo iniziale, ottenendo così la durata
* dell'intervallo di tempo trascorso. Va moltiplicato per 1 milione per ottenere i
* microsecondi
*/
$time_interval+=microtime(True);
$time_interval*=1000*1000;
echo "
tempo totale di esecuzione in microsecondi: $time_interval
";
?>