RosettaCodeData/Task/Munchausen-numbers/Elixir/munchausen-numbers.elixir
2023-07-01 13:44:08 -04:00

11 lines
273 B
Text

defmodule Munchausen do
@pow for i <- 0..9, into: %{}, do: {i, :math.pow(i,i) |> round}
def number?(n) do
n == Integer.digits(n) |> Enum.reduce(0, fn d,acc -> @pow[d] + acc end)
end
end
Enum.each(1..5000, fn i ->
if Munchausen.number?(i), do: IO.puts i
end)