Sha256: caf5bb38146e9a67846f568c1dd2b232177b2b00c881acc0a2ce809f79847ad9
Contents?: true
Size: 451 Bytes
Versions: 327
Compression:
Stored size: 451 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
327 entries across 327 versions & 1 rubygems