|Secuencia de Van EckMedio
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 10:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Secuencia de Van Eck

Medio25 pts·Algoritmos

Enunciado

Secuencia de Van Eck

La secuencia de Van Eck es una sucesión de enteros no negativos definida por las siguientes reglas:

  • El primer término es a(0) = 0.
  • Para cada término siguiente a(n) (con n > 0):
    • Si a(n-1) no ha aparecido antes en la secuencia (antes de la posición n-1), entonces a(n) = 0.
    • Si a(n-1) sí ha aparecido antes, entonces a(n) es la cantidad de pasos hacia atrás hasta su aparición anterior, es decir, a(n) = n-1 - (última posición donde apareció a(n-1)).

Ejemplo

Primeros términos de la secuencia:

n:    0  1  2  3  4  5  6  7  8  9
a(n): 0  0  1  0  2  0  2  2  1  6

Explicación paso a paso:

  • a(0) = 0 (por definición)
  • a(1) = 0 porque a(0) = 0 no había aparecido antes → 0
  • a(2) = 1 porque a(1) = 0 y el 0 apareció en posición 0 → 1 - 0 = 1
  • a(3) = 0 porque a(2) = 1 no había aparecido antes → 0
  • a(4) = 2 porque a(3) = 0 y el 0 apareció en posición 1 → 3 - 1 = 2
  • a(5) = 0 porque a(4) = 2 no había aparecido antes → 0
  • a(6) = 2 porque a(5) = 0 y el 0 apareció en posición 3 → 5 - 3 = 2
  • a(7) = 2 porque a(6) = 2 y el 2 apareció en posición 4 → 6 - 4 = 2
  • a(8) = 1 porque a(7) = 2 y el 2 apareció en posición 6 → 7 - 6 = 1
  • a(9) = 6 porque a(8) = 1 y el 1 apareció en posición 2 → 8 - 2 = 6

Tarea

Dada una cantidad n, retorna los primeros n términos de la secuencia de Van Eck como un array de enteros.

Ejemplos

vanEckSequence(1)  // [0]
vanEckSequence(5)  // [0, 0, 1, 0, 2]
vanEckSequence(10) // [0, 0, 1, 0, 2, 0, 2, 2, 1, 6]

Restricciones

  • 1 <= n <= 1000
Restriccionesexpand_more
  • Dificultad: Medio
  • Completa todos los test cases para obtener los 25 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Secuencia de Van Eck — Medio | Coding Challenges · Coding Challenges