11 lines
273 B
Text
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)
|