Assunto
- #Java
- #Stream
- #Verificação de Primalidade
- #Otimização
- #Avaliação Preguiçosa
Criado: 2024-07-23
Criado: 2024-07-23 19:39
Comumente, para verificar se n é um número primo, divide-se n por números de 2 até n - 1 e verifica-se se é divisível por algum deles.
Neste método, vamos aplicar algumas otimizações para torná-lo mais eficiente e utilizar Stream para aplicar a avaliação preguiçosa (lazy evaluation).
A seguir, apresentamos um método naive para verificar se n é um número primo.
O Stream do Java, ao contrário de List, não executa as operações imediatamente após sua definição.
Ele fica em estado de espera, com a definição de como calcular cada elemento, e só executa a operação quando um elemento específico é requisitado.
Utilizando essa característica, podemos criar um Stream que gera números primos da seguinte forma.
Código completo
Resultado da execução
Comentários0