Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Last active April 28, 2024 21:51
Show Gist options
  • Save lrlucena/0fd4fd8cf5580af0ecc15c2092049dd5 to your computer and use it in GitHub Desktop.
Save lrlucena/0fd4fd8cf5580af0ecc15c2092049dd5 to your computer and use it in GitHub Desktop.
Números Primos
crivo(num: Lista[Inteiro]): Lista[Inteiro] =
se num == [] então []
senão
a = num.cabeça
a::crivo(num.selecione(x => x mod a <> 0))
fim
num = 2::3::5::7::
(para n de 1 até 100, a em [1,3,7,9] gere n * 10 + a fim)
primos = crivo(num)
escreva primos
primo(n: Inteiro) = n > 1 e
primos
.pegue_enquanto(_ < raiz(n))
.injete(verdadeiro)((a,b) => a e n mod b <> 0)
escreva "3 é primo: {primo(3)}"
escreva "15 é primo: {primo(15)}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment