Nota: esto está fuertemente inspirado por esta pregunta .
Tarea:
Su tarea es generar el n
th prime, cuando cada personaje de su programa se repite varias n
veces en su lugar.
Digamos que su programa es:
Derp
Todos los caracteres allí se repiten una vez, por lo que deberían aparecer 2
.
Cuando cada personaje se duplica en su lugar, así:
DDeerrpp
Esto debería generar el segundo primo, que es 3
.
Especificaciones:
- Su programa no debe aceptar ninguna entrada y emitir la prima correspondiente.
- Su programa debe funcionar para todos los números primos, dado suficiente tiempo y memoria.
- Las nuevas líneas iniciales y finales están bien.
- La salida debe estar en la base predeterminada del idioma; si no hay una predeterminada, cualquier base está bien.
Este es el código de golf , por lo que gana el código más corto en bytes.
code-golf
math
primes
source-layout
clismique
fuente
fuente
Respuestas:
Jalea , 13 bytes
Pruébalo en línea! o ejecuta los primeros diez programas .
Antecedentes
Jelly tiene varios tipos diferentes de literales de cadena; todos comienzan con a
“
. Si el literal contiene más de uno“
, se devuelve una matriz de cadenas y las“
separa unas de otras.Por ejemplo,
“abc“def”
rendimientos['abc', 'def']
.Dependiendo del último carácter del literal (cualquiera de
”«»‘’
, donde no«
está implementado actualmente), uno puede elegir entre los diferentes tipos de literales. Para‘
, obtenemos los puntos de código en la página de códigos de Jelly en lugar de los caracteres Unicode correspondientes.Por ejemplo,
“abc“def‘
rendimientos[[97, 98, 99], [100, 101, 102]]
.Los literales en los primeros tres programas corresponden a las siguientes matrices de puntos de código.
Cómo funciona ( n = 3 )
fuente
GS2 ( commit 67fea47 ),
63 bytesCómo funciona
Como la mayoría de los comandos, GS2
d
está sobrecargado. Inicialmente, hay una lista vacía (la entrada o la falta de ella) en la pila, por lo qued
calcula su suma. Después de la primera iteración, hay un 0 en la pila yd
calcula su paridad (también 0 ). Por lo tanto, no importa cuántas veces repetimosd
, el resultado siempre será un solo 0 .La siguiente parte es sencilla. El comando
n
muestra la parte superior de la pila y empuja el siguiente número primo. Por lo tanto, repetirn
k veces calcula el k principal.Finalmente, el comando simplemente aplica str a la parte superior de la pila, lo que convierte un número en su representación de cadena y no afecta las cadenas. Por lo tanto, no importa cuántas veces lo repitamos
R
, el resultado será la representación de cadena del k principal.fuente