torn24 (Normal User)
Pro
Messaggi: 156
Iscritto: 04/01/2008
|
Per risolvere un problema esistono quasi sempre più soluzioni "algoritmi" per questo esistono più implementazioni di una stessa funzione-programma. Ovvio che chi usa meno risorse è considerato migliore di uno che ne usa di più. Io ho proposto questo perché è il solo che conosco, Non potevo fare altrimenti
Però si può ottimizzare, un numero può essere divisibile solo fino a numero/2, non è certo divisibile per un numero superiore alla sua metà, quindi anche una piccola modifica al mio codice riduce lo spreco di risorse. Soluzioni migliori ci saranno sicuramente ma io non le conosco
Modifica codice ottimizzato
Codice sorgente - presumibilmente C++ |
int verificaPrimo( int val ) //Scegli l'algoritmo che più ti piace { int i=2; if(val==1) return 1; for(i=2,i<=(val/2+1);i++){ if(val%i==0){ // ritorna zero se è divisibile cioè non primo return 0; } } return 1; // altrimenti è primo e ritorna 1 }
|
Ultima modifica effettuata da torn24 il 03/04/2017 alle 9:13 |