Saltar al contenido

Proyecto: Fibonacci sin fin

JavaScript · Unidad 16: Iteradores y generadores

Fibonacci empieza en 0 y 1, y de ahí cada número es la suma de los dos anteriores: 0, 1, 1, 2, 3, 5, 8… La secuencia no termina nunca, así que es justo lo que un generador hace bien.

Esta es la máquina que la produce: dos variables que se van recorriendo.

let a = 0;
let b = 1;
for (let i = 0; i < 5; i++) {
  console.log(a);
  const s = a + b;
  a = b;
  b = s;
}

Imprime

0
1
1
2
3

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Completa el código

    Completa el generador para que entregue 0, 1, 1 y 2.

  2. 2. Escribe el código

    Escribe el generador fib(): entrega los números de Fibonacci sin parar, empezando en 0 y 1. La función primeros(n) de abajo ya está lista y se queda con los primeros n.

  3. 3. Escribe el código

    Ahora escribe fibMenores(max): regresa un arreglo con los números de Fibonacci menores que max, en orden. Si ninguno lo es, regresa un arreglo vacío. El generador fib() ya está escrito.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →