Perfect numbers: Difference between revisions

Content added Content deleted
m (→‎{{header|Oforth}}: Replace rem by mod)
Line 614: Line 614:


=={{header|Elixir}}==
=={{header|Elixir}}==
<lang elixir>def is_perfect(x) do
<lang elixir>defmodule RC do
def is_perfect(1), do: false
[1 | lc x inlist :lists.seq(2, div(n, 2)), rem(n, x) == 0, do: x] |> :lists.sum() == n
def is_perfect(n) when n > 1 do
(for i <- 1..div(n,2), rem(n,i)==0, do: i) |> Enum.sum == n
end
end
end

</lang>
IO.inspect (for i <- 1..10000, RC.is_perfect(i), do: i)</lang>

{{out}}
<pre>
[6, 28, 496, 8128]
</pre>


=={{header|Erlang}}==
=={{header|Erlang}}==