Sha256: 4313b8e130a5ae95d3eba12c5287074ef5e8204587e6854b9a60ffda6f1106c1
Contents?: true
Size: 448 Bytes
Versions: 69
Compression:
Stored size: 448 Bytes
Contents
defmodule Sieve do @doc """ Generates a list of primes up to a given limit. """ @spec primes_to(non_neg_integer) :: [non_neg_integer] def primes_to(limit) do Enum.to_list(2..limit) |> do_primes([]) |> Enum.reverse() end defp do_primes([], primes), do: primes defp do_primes([candidate | rest], primes) do candidates = Enum.reject(rest, &(rem(&1, candidate) == 0)) do_primes(candidates, [candidate | primes]) end end
Version data entries
69 entries across 69 versions & 1 rubygems