Introducción
La secuencia EKG comienza con 1 y 2, luego la regla es que el siguiente término es el entero positivo más pequeño que aún no está en la secuencia y cuyo factor común con el último término es mayor que 1 (no son coprimos).
Los primeros términos son:
1, 2, 4, 6, 3, 9, 12, 8, 10, 5, 15, ...
Se llama EKG porque la gráfica de sus términos es bastante similar a un EKG.
Es la secuencia A064413 en el OEIS .
Desafío
Debe escribir una función que tome un número entero n como entrada y produzca cuántos de los n primeros términos de la secuencia son mayores que n .
Como la regla de la secuencia comienza con el tercer término, el entero de entrada debe ser mayor o igual a 3. Por ejemplo, dada la entrada, 10la salida se 1debe a que el séptimo término es 12y ninguno de los otros diez primeros términos excede 10.
Casos de prueba
3 -> 1
10 -> 1
100 -> 9
1000 -> 70
Reglas
- Para enteros inferiores a 3, la función puede generar 0 o un código de error.
- No hay otras reglas particulares, excepto: es el código de golf, ¡cuanto más corto, mejor!

1siendo el término 0 de la secuencia y, por lo tanto, haciendo, por ejemplo,15el décimo término, en lugar de5?Respuestas:
Jalea ,
201918 bytesEste es un programa completo.
Pruébalo en línea!
Cómo funciona
Tenga en cuenta que la secuencia generada es[1,0,2,4,6,3,9,12,8,10,5,15,…] . Dado que llamar al enlace auxiliar n veces genera una secuencia de longitud n+1 , prácticamente se ignora el 0 .
fuente
Perl 6 ,
66635958 bytes-4 bytes gracias a Jo King
Pruébalo en línea!
Demasiado lento en TIO para n = 1000.
fuente
first &f,1..*se puede reescribir+(1...&f), su truco de unión ayudó después de todo.JavaScript (ES6),
107106105 bytesPruébalo en línea!
¿Cómo?
a.indexOf(k)es igual a:a.indexOf(k) + C(k, a[0])fuente
Haskell,
8982 bytesEditar: -7 bytes gracias a @ H.PWiz
Pruébalo en línea!
fuente
Casco , 16 bytes
Pruébalo en línea!
Explicación
fuente
MATL , 29 bytes
Pruébalo en línea!
Explicación:
fuente
GE:)?whileAPL (Dyalog Unicode) , SBCS de 39 bytes
-2 bytes gracias a ngn, -1 byte utilizando la verificación condicional adecuada.
Pruébalo en línea!
fuente
⍣pasa su propio argumento izquierdo a la función operando, por lo que no es necesario∘. Además,⍵no se unirá con la cosa de la derecha, ya que comienza con una función (⍳), por lo que no es necesario⊢.JavaScript,
939187 bytesLanza un error de desbordamiento para
0o1, salidas0para2.Pruébalo en línea
fuente
APL (NARS), caracteres 121, bytes 242
prueba en menos de un minuto aquí en tiempo de ejecución:
Natural, no hay verificación de tipo y rango ...
fuente
Japt,
2321 bytesIntentalo
fuente
Python 3 , 153 bytes
Pruébalo en línea! (Advertencia: toma ~ 30 segundos para evaluar)
fuente