La tarea es un desafío de quine bastante simple con un giro, debe generar su código fuente en forma de pirámide. La forma de una pirámide se define a continuación:
1
234
56789
ABCDEFG
HIJKLMNOP
QRSTUVWXYZa
bcdefghijklmn
......etc......
La principal limitación de este desafío es que su quine debe contener exactamente bytes suficientes para no obstruir el patrón de la pirámide. Por ejemplo, las siguientes duraciones de programa funcionarían:
1-byter: 1st layer of the pyramid (not allowed by definition of a quine).
4-byter: 1st and 2nd layers of the pyramid.
9-byter: 1st, 2nd and 3rd layers of the pyramid.
etc...
Entonces, si su programa fue:
QWERTY
No sería válido, porque se organizaría como:
Q
WER
TY
Sin embargo, si su programa fuera QWERTYUIO, estaría bien:
Q
WER
TYUIO
Reglas
- Las lagunas estándar obviamente no están permitidas, no hay que leer su propia fuente.
- La pirámide debe estar centrada, los caracteres finales están permitidos, pero no son obligatorios.
- Además, cualquier personaje puede usarse para centrar la pirámide, no tiene por qué serlo
(char)32
.
- Además, cualquier personaje puede usarse para centrar la pirámide, no tiene por qué serlo
- Su quine debe poder tener forma de pirámide.
- Debe conservar el orden original de su código fuente.
- Su código fuente NO puede contener el carácter que se utiliza para formatear la pirámide.
- Por ejemplo, si su código fuente contiene un espacio, necesitará otro carácter para el formato.
- Puede usar comentarios en su quine para "rellenar" al tamaño correcto.
- Obviamente, estos deben salir como parte de la quine.
- Si el programa contiene nuevas líneas / pestañas, no son parte de la línea y deben omitirse en la salida.
- La forma se cuenta en caracteres, no en bytes; Si la forma está mal formada, no lo estás haciendo bien.
La puntuación más baja posible aquí debería ser 4.
code-golf
ascii-art
restricted-source
quine
Urna de pulpo mágico
fuente
fuente
Respuestas:
05AB1E , 36 bytes
Pruébalo en línea!
Si
trailing characters are allowed
también significa al final de la salida,0"D34çýā·<£.c"D34çýā·<£.c
es una capa más corta de 25 bytes.fuente
34ç
es la base de todas las quines 05AB1E, ¿no es así jaja? Además, no estoy seguro de cómo me siento acerca de la cantidad aleatoria de nuevas líneas finales ... Preferiría que alguien más haga esa llamada (¿cuál es la norma, se permite 1 seguimiento / precedente?) Que parece súper al límite.ā·<
que usé9ÅÉ
(en el 25 byter, no pensé en la nueva línea final ...)Java 11,
324256227 bytes-29 bytes gracias a @JoKing .
Salidas con espacios iniciales para hacer el triángulo. (Tenga en cuenta que el espacio en blanco entre
var s
yint i
son pestañas, no espacios).Pruébalo en línea.
Explicación:
quine -parte:
var s
contiene el código fuente sin formato String%s
se usa para poner esta cadena en sí misma cons.format(...)
%c
,%1$c
y34
se utilizan para formatear las comillas dobles ("
)%%
se usa para formatear el%
s.format(s,34,s)
lo pone todo juntoParte del desafío:
Lo que se detiene con un
java.lang.StringIndexOutOfBoundsException: begin 225, end 256, length 226
error para elString#substring(int,int)
método, la iteración después de que ha impreso el resultado ( que está bien según el meta ).fuente
s=s.format
separarse cuando puede tener el formato en el bucle en su lugar%%
en la cadena y solo uno%
en el código real, pero esto significa que los comentarios son obligatorios///
en la cadena para que la cadena sea lo suficientemente larga como para que vaya a la iteración esperada para imprimir todo, antes de detenerse conStringIndexOutOfBoundsException
el.substring
. Y con solo dos finales//
al final del programa real, ya que solo imprime dos finales//
también. :)Python 2 , 81 bytes
Pruébalo en línea!
Una evaluación que utiliza espacios como el carácter de relleno.
fuente
;)
Perl 6 , 67 bytes
Pruébalo en línea!
Usé un par de caracteres unicode para exprimir esa capa adicional. Salidas usando espacios:
Explicación:
fuente
Python 2 , 169 bytes
Usos
0
para formatear la pirámide.Pruébalo en línea!
Python 2 , 147 bytes
Esto usa la regla Si el programa contiene nuevas líneas / pestañas, no son parte de la quine y deberían omitirse en la salida.
Pruébalo en línea!
fuente
Gol> <> , 36 bytes
Pruébalo en línea!
una versión aún más joven, 36 bytes
Me siento tan cerca de hacerlo una línea más corta, grrrr ...
Pruébalo en línea!
versión aún más joven, 36 bytes
El código de este es más pequeño, pero lamentablemente sigue siendo la misma cantidad, el comentario ocupa el resto del espacio.
Pruébalo en línea!
versión ligeramente más joven, 36 bytes
Wowza! Heh, solo usé eso para llenar un poco de espacio, pero el programa funciona, para jugar golf, ¡usé algunos valores prepulsados en lugar de usar variables!
Pruébalo en línea!
Versión anterior, 42 bytes.
Esto tiene una nueva línea final, y tiene más caracteres de los que me gustaría ...
Voy a jugar al golf severamente ...
Pruébalo en línea!
fuente
Limpio , 256 bytes
Pruébalo en línea!
Prácticamente el quine estándar, convenientemente también un quine de plantilla, con la función de formateo agregada.
fuente
R ,
169144 bytesPruébalo en línea!
Se las arregló para acortarlo moviéndose a una cadena que se analiza en lugar de a una expresión que se separó. Sin embargo, tuve que usar una redefinición de un operador unario para obtenerla por debajo del 144.
fuente
C # (compilador interactivo de Visual C #) , 225 bytes
Utiliza un
STX
char como relleno. No me di cuenta de que Kevin Cruijssen ya había enviado una copia exacta en Java antes de publicar hasta que terminé, pero decidí publicar esto de todos modos.Pruébalo en línea!
fuente