Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Esercizio su Liste
Forum - C/C++ - Esercizio su Liste - Pagina 3

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
torn24 (Normal User)
Pro


Messaggi: 156
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 9:05
Lunedì, 03/04/2017
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 :D:D

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++

  1. int verificaPrimo( int val ) //Scegli l'algoritmo che più ti piace
  2. {
  3.     int i=2;
  4.     if(val==1) return 1;
  5.     for(i=2,i<=(val/2+1);i++){
  6.  
  7.            if(val%i==0){
  8.  
  9.                 // ritorna zero se è divisibile cioè non primo
  10.                 return 0;
  11.           }
  12.  
  13.    }
  14.    
  15.  
  16.     return 1; // altrimenti è primo e ritorna 1
  17. }


Ultima modifica effettuata da torn24 il 03/04/2017 alle 9:13
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo