Su tarea, si elige aceptarla, es simple.
Objetivo
Debe crear un programa que, cuando se ejecute, imprima algunos términos (tantos como desee) en la secuencia que elija. La secuencia debe ser una secuencia OEIS válida . El giro es que cuando tomas los caracteres de tu código que componen tu secuencia, los unes y los ejecutas en el mismo idioma , debes obtener la fórmula para el enésimo de tu secuencia para tu secuencia.
Ejemplo
Digamos que hice este programa:
abcdefghij
y elegí la secuencia de cuadrados: http://oeis.org/A000290
y lo elegí para imprimir los primeros 5 términos de la secuencia, la salida debería ser:
1, 4, 9, 16, 25
Nota: la salida es flexible, puede elegir qué delimitador desea separar los términos, pero el delimitador debe ser notable para que cada uno de los términos de la secuencia pueda diferenciarse.
Ahora, el personaje en el índice 1 es a
. El carácter en el índice 4 es d
. El carácter en el índice 9 es i
. Entonces mi nuevo programa sería:
adi
y tendría que imprimir la fórmula del enésimo término para mi secuencia, que es:
n^2
¡Simple!
Otras cosas
- Debe imprimir un mínimo de 5 términos.
- Puede elegir 0 o 1 índice.
- Números repetidos significa caracteres repetidos.
- Si su secuencia no está en orden (por ejemplo, va hacia atrás), entonces su código aún la sigue (por ejemplo, su código está escrito hacia atrás).
- Debe usar y solo usar los números dentro de los límites de su respuesta, incluso si ya ha salido de los límites. No puede usar números de la misma secuencia que no imprimió.
- Si su secuencia no tiene oficialmente una fórmula, puede usar las primeras 3 letras del nombre indicado en el sitio web de OEIS (por ejemplo, la secuencia de Fibonacci se imprimiría
fib
y la secuencia de lucas-lehmer se imprimiríaluc
).
Recuerde, este es el código de golf , por lo que la respuesta más corta, en bytes, gana.
n
?Respuestas:
05AB1E , 10 bytes, A008585
Este código genera los primeros 11 elementos de la secuencia 3n .
Pruébalo en línea!
Explicación
Tomar cada enésimo elemento (indexado a 0) da:
que produce 3n
fuente
Python 2, 35 Bytes
Decidí usar la secuencia obvia A000027 , que esencialmente tiene la fórmula
n
;) Si ejecuta el siguiente código:Obtienes la salida:
Y si toma los 8 caracteres de mi código fuente (indexado en 0), obtendrá esto:
Que simplemente imprime
n
.Si esperaba una respuesta más emocionante, aquí hay una solución de Python 2 para
n^2
, es decir, A000290 :fuente
05AB1E,
76 bytes, A000027Pruébalo en línea!
Explicación:
fuente
4L"n"s
también es una opción, ¿o estoy fuera de lugar aquí?5
no4
Octava, 64 bytes A000290
Fui por el
n^2
uno:Tome los términos 1, 4, 9, 16, 25, 36, 49 y 64 para obtener:
que imprime:
fuente
05AB1E ,
3028 bytes, A000290Esta es la secuencia de cuadrados
Emite los primeros 5 términos de la secuencia con la fórmula
n^2
:Pruébalo en línea!
Esto es 1 indexado. Entonces, tomando los caracteres del código que componen la secuencia, obtengo
Que salidas
Pruébalo en línea!
Explicación
fuente
Maravilla , 16 bytes A005843
Esto una vez fue DASH, pero ahora ha cambiado su nombre a Wonder.
Emite los primeros 6 números pares. Tenga en cuenta el espacio inicial. Mantener los índices 0, 2, 4, 6 y 8 rinde:
Que impresiones
2t
.Explicación
Esto es solo una cadena y un número.
Esto genera una lista infinita de números pares a partir de 0, luego toma los primeros 5 elementos de esa lista.
fuente
MATL , 8 bytes, A000027
Gracias a Oliver por una corrección que interpreta el desafío.
El código se imprime
1 2 3 4 5
. Manteniendo solo los primeros caracteres que imprimen
.Pruébalo en línea!
fuente
Octava, 49 bytes, A109234
La secuencia
floor(n*sinh(1))
son todos los números desde1
y hacia arriba, excepto6, 13, 20, 26, 33, 40, 46, _3, _0, _6 ...
que los caracteres utilizados para formar1 2 3 4 5
deben colocarse en esas posiciones. Las posiciones restantes se utilizan para la cadena que explica la función.fuente
05AB1E, 15 bytes, A001477
Utiliza la codificación CP-1252 . Pruébalo en línea!
fuente
Pajar ,
21109 BytesHaystack ha agregado muchas funciones nuevas en los últimos días :) Por supuesto, voy a usar A000027 . Aquí está el programa inicial:
Esto imprimirá:
Y si toma los caracteres 1-5, 0 indexados, obtendrá:
Que impresiones
n
.Si quieres divertirte un poco más, aquí hay una solución para A000290 :
Esto imprimirá los primeros 7 cuadrados, y sus caracteres correspondientes en el programa anterior, indexados en 0, son:
Que impresiones
n^2
.fuente