Argomento
- #Java
- #Stream
- #Verifica della primalità
- #Valutazione lazy
- #Ottimizzazione
Creato: 2024-07-23
Creato: 2024-07-23 19:39
Spesso, per verificare se n è un numero primo, si divide n per tutti i numeri da 2 a n - 1 e si controlla se è divisibile.
In questo metodo, applichiamo alcune ottimizzazioni per migliorarlo in modo più efficiente e utilizziamo Stream per applicare la valutazione pigra.
Di seguito è riportato un metodo naive per verificare se n è un numero primo.
Gli Stream di Java, a differenza delle List, non eseguono l'operazione immediatamente quando viene definita.
Rimangono in uno stato di attesa, con la definizione di come calcolare ogni elemento, e eseguono solo l'operazione necessaria per ottenere l'elemento richiesto.
Utilizzando questa caratteristica, possiamo creare uno Stream che trova i numeri primi nel seguente modo.
Codice completo
Risultato dell'esecuzione
Commenti0