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
"; ?>