- Reto #14
- Fecha publicación enunciado: 04/04/22
- Dificultad: FÁCIL
- Origen: https://github.com/mouredev/Weekly-Challenge-2022-Kotlin/blob/main/app/src/main/java/com/mouredev/weeklychallenge2022/Challenge14.kt
Escribe una función que calcule si un número dado es un número de Amstrong (o también llamado narcisista). Si no conoces qué es un número de Armstrong, debes buscar información al respecto.
defmodule Armstrong do
def is?(number) do
normalized = abs(number)
chars =
to_string(normalized)
|> String.graphemes()
power = Enum.count(chars)
sum =
Enum.map(chars, fn num ->
String.to_integer(num)
|> Integer.pow(power)
end)
|> Enum.sum()
normalized == sum
end
end
{:module, Armstrong, <<70, 79, 82, 49, 0, 0, 8, ...>>, {:is?, 1}}
defmodule Solution do
def run(number) do
Armstrong.is?(number)
end
end
{:module, Solution, <<70, 79, 82, 49, 0, 0, 6, ...>>, {:run, 1}}
Solution.run(-371)
true
Solution.run(371)
true