Dado un número de entrada n
de 1
a 26
(o 0
to 25
), genera la lectura del alfabeto de izquierda a derecha hasta e incluyendo esa letra correspondiente, con a=1, b=2, c=3, ...
. El giro es que las letras también deben repetirse verticalmente correspondientes a su posición en el alfabeto. Los números impares (cuando están 1
indexados) deben equilibrarse a través de la línea horizontal, mientras que los números pares deben alternar entre favorecer la parte superior o inferior (puede elegir qué dirección ir primero). Si está indexando a 0, intercambie impar / par en la oración anterior.
Dicho de otra manera: si el valor alfabético de una letra ?
es #
, entonces debería haber #
copias de esa letra en la salida, todas ellas en la #
columna th. Estas letras deben estar equilibradas por encima y debajo de la línea horizontal que tiene el a
. Si las letras no se pueden equilibrar de manera uniforme, alterne teniendo la letra "extra" encima y debajo de esa línea.
Aquí están las primeras seis salidas ( n = 1,2,3,4,5,6
indexadas en 1, eligiendo alternar primero a la parte inferior), separadas por nuevas líneas, para que pueda ver el patrón. Los comentarios que explican el patrón comienzan con #
.
a # On a line by itself
ab
b # The "extra" letter is below the horizontal
c
abc # The 'c' splits evenly
bc
d # Because the 'b' was below, the extra 'd' must be above
cd
abcd
bcd
de
cde
abcde # The 'e' balances
bcde
e
def
cdef
abcdef
bcdef
ef
f # Since the 'd' was above, the extra 'f' must be below
(omita algunos para n=26
)
xyz
wxyz
tuvwxyz
stuvwxyz
pqrstuvwxyz
opqrstuvwxyz
lmnopqrstuvwxyz
klmnopqrstuvwxyz
hijklmnopqrstuvwxyz
ghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
efghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz
ijklmnopqrstuvwxyz
jklmnopqrstuvwxyz
mnopqrstuvwxyz
nopqrstuvwxyz
qrstuvwxyz
rstuvwxyz
uvwxyz
vwxyz
yz
z
Reglas
- Puede elegir la salida en mayúsculas o minúsculas, pero debe ser coherente.
- La salida no puede tener espacios en blanco extraños, a excepción de una nueva línea final opcional.
- Un programa completo o una función son aceptables.
- El número de entrada se puede tomar a través de cualquier formato adecuado .
- Las lagunas estándar están prohibidas.
- Este es el código de golf, por lo que se aplican todas las reglas habituales de golf, y gana el código más corto (en bytes).
-
para generar las líneas en orden inverso, lo que creo que está permitido?