Use cond to improve Fizzbuzz

This commit is contained in:
Nathan Mattes 2021-11-21 11:57:31 +01:00
parent d148715811
commit b6139625c9
1 changed files with 10 additions and 14 deletions

View File

@ -2,23 +2,19 @@ defmodule FizzBuzz do
def count(number) do
1..number
|> Enum.to_list
|> Enum.each(&FizzBuzz.check/1)
|> Enum.map(&FizzBuzz.check/1)
end
def check(number) do
# if n is multiple of 3: Fizz
if (Integer.mod(number, 3) == 0) && (Integer.mod(number, 5) == 0) do
IO.puts "Fizzbuzz!"
else
if Integer.mod(number, 3) == 0 do
IO.puts "Fizz"
else
if Integer.mod(number, 5) == 0 do
IO.puts "Buzz"
else
IO.puts number
end
end
cond do
rem(number, 5) == 0 and rem(number, 3) == 0 ->
"Fizzbuzz!"
rem(number, 5) == 0 ->
"Buzz!"
rem(number, 3) == 0 ->
"Fizz!"
true ->
number
end
end
end