- Reto #2
- Fecha publicación enunciado: 10/01/22
- Dificultad: DIFÍCIL
- Origen: https://github.com/mouredev/Weekly-Challenge-2022-Kotlin/blob/main/app/src/main/java/com/mouredev/weeklychallenge2022/Challenge2.kt
Escribe un programa que imprima los 50 primeros números de la sucesión de Fibonacci empezando en 0. La serie Fibonacci se compone por una sucesión de números en la que el siguiente siempre es la suma de los dos anteriores.
0, 1, 1, 2, 3, 5, 8, 13...
defmodule Solution do
# See https://gist.github.com/kyanny/2026028
def fib(a, _, 0) do
a
end
def fib(a, b, n) do
fib(b, a + b, n - 1)
end
def run(iterations) do
iterations
|> Enum.map(fn index ->
fib(0, 1, index)
end)
end
end
{:module, Solution, <<70, 79, 82, 49, 0, 0, 7, ...>>, {:run, 1}}
Solution.run(0..50)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,
17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578,
5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296,
433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, ...]