Use cond to improve Fizzbuzz
This commit is contained in:
parent
d148715811
commit
b6139625c9
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue