Tarea
Su tarea es imprimir este texto exacto:
A
BCD
EFGHI
JKLMNOP
QRSTUVWXY
ZABCDEFGHIJ
KLMNOPQRSTUVW
XYZABCDEFGHIJKL
MNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLM
NOPQRSTUVWXYZABCDEFGHIJKLMN
OPQRSTUVWXYZABCDEFGHIJKLMNOPQ
RSTUVWXYZABCDEFGHIJKLMNOPQRSTUV
WXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
DEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKL
MNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW
XYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJ
KLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY
ZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP
QRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI
JKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCD
EFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ
Especificaciones
- Puede hacerlo en minúsculas en lugar de mayúsculas.
- Se permiten líneas nuevas al final del triángulo.
- Se permiten espacios finales después de cada línea.
- Debe imprimir en STDOUT en lugar de generar una matriz de cadenas.
Tanteo
Este es el código de golf . Programa con el menor recuento de bytes gana.
code-golf
ascii-art
kolmogorov-complexity
Monja permeable
fuente
fuente
mod
función. Puedo hacer uno si tengo tiempo.Respuestas:
Vim, 29 bytes
Donde
↵
representa la tecla Retorno,♥
la tecla Escape yβ
la tecla Retroceso.fuente
␛
lugar de♥
. Y␈
en lugar deβ
. Para eso están hechos estos caracteres Unicode. utf8icons.com/subsets/control-picturesPython 2, 65 bytes
fuente
Jalea , 10 bytes
Pruébalo en línea!
Cómo funciona
fuente
ṁ
es genial !! [esperando felicitar por 100k rep]H
es la mitad yḤ
es su inverso ( unhalve )./2
o*2
, así que es "Reducir a la mitad" o "Doble". Por eso estaba confundido.27Ḷ²IRØAṁY
51Rm2RØAṁY
VBA Excel (80 bytes, 1742 bytes)
Excel, 1742 bytes
Inspirado por la respuesta creativa de la ugoren , logré encontrar una fórmula de Excel para crear el patrón como se muestra en el OP.
Pegue esta fórmula en la celda A1, luego arrastre por todo el rango A1: A26.
La longitud de la fórmula es de 67 bytes, pero debe replicarla 26 veces, por lo que es igual a 67 * 26 = 1742 bytes. Aquí está la salida:
Excel VBA, 80 bytes
Ahora es posible que integremos Excel con VBA para automatizar el proceso y guardar muchos bytes, ya que VBA está integrado en la mayoría de las aplicaciones de Microsoft Office, incluido Excel. Escriba y ejecute el siguiente código en la ventana Inmediato (use las teclas de combinación CTRL+ Gpara mostrarlo en el Editor de Visual Basic):
El programa funciona imprimiendo la fórmula de Excel anterior en el rango A1: A26. Desafortunadamente, tanto Excel como VBA no tienen un alfabeto incorporado.
fuente
Haskell, 67 bytes
Una recursión simple a lo largo
i
de la línea. En cada paso, los siguientesi
caracteres se toman de una repetición infinita del alfabeto.fuente
Mathematica, 90 bytes
Función anónima. No realiza ninguna entrada y devuelve una cadena como salida. Sugerencias de golf bienvenidas. Un ejemplo de lo que
Internal`PartitionRagged
hace:fuente
C, 79 bytes
Mi primera respuesta en C \ o /
Las sugerencias de golf son más que bienvenidas.
fuente
i;main(j){while(i<676)printf("\n%c"+(j*j^i++||!j++),i%26+65);}
i;main(j){for(;j<27;j*j^++i||puts("",j++))putchar(i%26+65);}
Brachylog , 37 bytes
Pruébalo en línea!
Explicación
Predicado principal:
Predicado 1: se utiliza para generar cadenas variables de longitudes impares.
fuente
Z
cual es porque26
está libre de cuadrados.Pyth , 12 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 77
82 88Se requiere EcmaScript 6 solo para guardar 1 byte usando un literal de cadena de plantilla para nueva línea.
Menos golf
Prueba
fuente
Perl,
424139 bytesSolo el código:
Desafortunadamente, una versión obvia más corta desencadena un problema interno de perl (uso del valor liberado en la iteración):
fuente
JavaScript, 129 bytes
fuente
[...'ABCDEFGHIJKLMNOPQRSTUVWXYZ']
lugar de'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split``
.Pyke, 14 bytes
Pruébalo aquí!
fuente
Go, 133 bytes
fuente
MATLAB,
112109 95 7977 bytesEsto también funcionará con Octave , puedes probar en línea aquí .
Entonces, después de algunos cambios importantes, he guardado otros
1432 bytes. Este se está pareciendo mucho más a la longitud que hubiera esperado de MATLAB. Dejé la versión anterior a continuación, ya que es sustancialmente diferente.Versión original:
Wow, ese terminó siendo más largo de lo que pensaba. Veré si no puedo eliminar algunos bytes.
Una versión no golfista para explicar:
Expresiones de gratitud
fuente
XPath 3.0 (y XQuery 3.0), 84 bytes
Explicación:
(1 to 26)!(65 to 90)
es el alfabeto 26 veces(0 to 25)!(subsequence(XX, start, len),10)
toma 26 subsecuencias de esto, cada una seguida de nueva líneasubsequence(X, .*.+1, 2*.+1)
toma subsecuencias sucesivas con posición de inicio y longitud: (1, 1), (2, 3), (5, 5), (10, 9) etc.codepoints-to-string()
convierte los puntos de código Unicode en caracteresfuente
Ruby, 46 bytes
Véalo en ideone: http://ideone.com/3hGLB0
fuente
05AB1E (alternativo) 15 bytes
Pruébalo en línea!
Explicación:
fuente
R,
120115111 bytesSin golf:
Básicamente,
b
es el vector de los números impares entre1
y51
, dando así la longitud de cada línea. Obviamente, lasum
función suma los números de este vector y proporciona los índices inicial y final.-5 bytes gracias a @plannapus!
-4 bytes gracias a @plannapus!
fuente
a
una vez, no necesitas definirlo, lo que significa que puedes eliminar un par de bytes más:b=seq(1,51,2);v=c();for(i in 1:26){v=c(v,c(rep(LETTERS,26)[(sum(b[1:i-1])+1):sum(b[1:i])],"\n"))};cat(v,sep="")
funciona.b=seq
parte en el cuerpo principal, ¡así que es aún menos legible!R,
81 73 6563 bytesUn
for
enfoque de bucle simple . Repite el alfabeto 26 veces y recorre un rango de índice deslizante que se calcula usando(i^2-2*i+2):i^2
.fuente
Casco , 10 bytes
Pruébalo en línea!
Explicación
fuente
Lote, 123 bytes
fuente
05AB1E ,
1817 bytesExplicación
Pruébalo en línea!
fuente
Rexx
7472 bytesSin golf:
fuente
TSQL, 129 bytes
USE MASTER al comienzo de la secuencia de comandos es para garantizar que la consulta se ejecute en la base de datos maestra, que es predeterminada para muchos usuarios (sin contar bytes para eso).
Golfizado:
Sin golf:
Violín
Fiddle para versiones anteriores usando la ruta xml
fuente
PowerShell, 68 bytes
La sección anterior al primer punto y coma produce una cadena que contiene 26 copias del alfabeto en mayúsculas. La siguiente sección inyecta saltos de línea en el índice de cada número cuadrado (trabajando hacia atrás para no tener que dar cuenta del desplazamiento). Finalmente,
$a
al final solo inserta esa variable de cadena en el equivalente de PowerShellSTDOUT
.fuente
Dyalog APL, 18 bytes
↑2{⍺↓⍵⍴⎕a}/×⍨0,⍳26
fuente
C, 60 bytes
fuente
puts
Solo toma un argumento. (Se permite un comportamiento indefinido en codegolf normalmente, pero esto está demasiado lejos de los carriles habituales)C ++, 111 bytes
Primero intente con uno de estos. Utiliza una int "c" para registrar qué letra necesita imprimir en un momento dado. Una vez que "c" pasa 90 ('Z') se restablece a 65 ('A'). Imprime la pirámide con bucles.
fuente
if(c<92)c=65
para quitar un byte, y también podría hacerlo enint a()
lugar de hacerlovoid a()
, pero no estoy seguro si eso funciona sin la devolución. Aparte de eso, creo que debe incluir#include <iostream>
en su recuento de bytes.if(c>90)c=65
, pero gracias por la sugerencia, es una buena idea. Además, supongo que lo incluiré, gracias.PHP,
7669 bytesfuente