#Fizz Buzz
- weslley39
- lnmunhoz
##Elixir
defmodule FizzBuzz do
def run(n) when (rem(n, 3) == 0) and (rem(n, 5) == 0) do
IO.puts("FizzBuzz")
run(n - 1)
end
def run(n) when rem(n, 3) == 0 do
IO.puts("Fizz")
run(n - 1)
end
def run(n) when rem(n, 5) == 0 do
IO.puts("Buzz")
run(n - 1)
end
def run(n) when n == 1 do
IO.puts(n)
end
def run(n) do
IO.puts(n)
run(n - 1)
end
end
FizzBuzz.run(100)
##GoLang
package main
import "fmt"
func main() {
for i := 1; i <= 100; i++ {
if i % 3 == 0 && i % 5 == 0 {
fmt.Println("FizzBuzz")
} else if i % 3 == 0 {
fmt.Println("Fizz")
} else if i % 5 == 0 {
fmt.Println("Fizz")
} else {
fmt.Println(i)
}
}
}
#ScalarProduct
package main
import "fmt"
func main() {
calcArray([]int{1, 2}, []int{1, 2})
}
func calcArray(array1 []int, array2 []int) {
sum := 0
if len(array1) != len(array2) {
fmt.Println("Errrrou");
return;
}
for i := 0; i < len(array1); i++ {
sum = sum + array1[i] * array2[i];
}
fmt.Printf("Total: %d", sum)
}
defmodule ScalarProduct do
def run(array1, array2) when length(array1) != length(array2) do
IO.puts('The lists must have the same length.');
end
def run(array1, array2) do
run(array1, array2, length(array1) - 1, 0)
end
def run(array1, array2, index, sum) when index != -1 do
sumArray = sum + Enum.at(array1, index) * Enum.at(array2, index)
run(array1, array2, index - 1, sumArray)
end
def run(array1, array2, index, sum) do
IO.puts("Total: #{to_string(sum)}")
end
end
ScalarProduct.run([1, 2, 3], [1, 2, 3])