This commit is contained in:
2023-12-17 18:32:39 -05:00
parent eaf2ddb913
commit f3067bce0f
10 changed files with 287 additions and 0 deletions

16
elixir/leap/lib/year.ex Normal file
View File

@@ -0,0 +1,16 @@
defmodule Year do
@doc """
Returns whether 'year' is a leap year.
A leap year occurs:
on every year that is evenly divisible by 4
except every year that is evenly divisible by 100
unless the year is also evenly divisible by 400
"""
@spec leap_year?(non_neg_integer) :: boolean
def leap_year?(year) when rem(year, 400) == 0, do: true
def leap_year?(year) when rem(year, 100) == 0, do: false
def leap_year?(year) when rem(year, 4) == 0, do: true
def leap_year?(_year), do: false
end