Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.38 KB | None | 0 0
  1. defmodule Sieve.Eratosthenes do
  2.  
  3. def primes_to(n) do
  4. sieve([], candidates(n))
  5. end
  6.  
  7. defp sieve(primes, []) do
  8. primes
  9. end
  10.  
  11. defp sieve(primes, [h | t]) do
  12. sieve(primes ++ [h], reject_numbers(h, t))
  13. end
  14.  
  15. def candidates(n) do
  16. Enum.into 2..n, []
  17. end
  18.  
  19. def reject_numbers(factor, numbers) do
  20. Enum.reject numbers, fn x -> rem(x,factor) == 0 end
  21. end
  22.  
  23. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement