armstrong_number
This commit is contained in:
13
elixir/armstrong-numbers/lib/armstrong_number.ex
Normal file
13
elixir/armstrong-numbers/lib/armstrong_number.ex
Normal file
@@ -0,0 +1,13 @@
|
||||
defmodule ArmstrongNumber do
|
||||
@moduledoc """
|
||||
Provides a way to validate whether or not a number is an Armstrong number
|
||||
"""
|
||||
|
||||
@spec valid?(integer) :: boolean
|
||||
def valid?(number) do
|
||||
digits = Integer.digits(number)
|
||||
power = length(digits)
|
||||
|
||||
Enum.reduce(digits, 0, &(&1 ** power + &2)) == number
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user