Su misión hoy es crear un vórtice dado un solo parámetro.
Este parámetro determina la longitud de cada brazo en caracteres.
Cada "capa" de cada brazo contiene un personaje más que el anterior.
Así es como se verá el vórtice, dada la longitud del brazo:
0:
#
1:
#
###
#
2:
#
# #
###
# #
#
3:
## #
# #
###
# #
# ##
4:
# #
## #
# #
###
# #
# ##
# #
10:
#
#
#
#
#
#### #
### #
## #
# #
###
# #
# ##
# ###
# ####
#
#
#
#
#
Se aplican las lagunas estándar, los espacios en blanco finales son opcionales, cualquier carácter que no sea un espacio en blanco en ASCII puede reemplazar "#".
Este es el código de golf, por lo que gana la respuesta más corta en bytes.
Respuestas:
MATL , 60 bytes
Pruébalo en línea! O verificar los casos de prueba: 0 , 1 , 2 , 3 , 4 , 10 .
Esto resultó ser más divertido de lo que esperaba. Sin embargo, explicar será más difícil ...
fuente
Jalea , 48 bytes
Pruébalo en línea!
(Haga que todo sea más cuadrado reemplazando el final
Y
conG
, agregando un espacio entre cada columna).¿Cómo?
Construye una lista de
#
coordenadas de un brazo en relación con el centro. Transforma eso en las coordenadas de los cuatro brazos desde la esquina superior izquierda y agrega la coordenada central. Construye una tabla de todas las coordenadas en el espacio y establece los brazos#
y el espacioay une las filas con nuevas líneas.
fuente
Mathematica
139172 BytesLa idea es crear un solo brazo con una función,
{⌊.5+.5(-7+8#)^.5⌋,#-1}
que escupe el índice de cada elemento del brazo, suponiendo que el elemento del medio tenga un índice (0,0). Nadie se ha dado cuenta de eso todavía, pero sospecho que esta idea daría como resultado una respuesta ganadora en un mejor lenguaje de golf. Luego gire el brazo a través de múltiplos de 90 grados, vuelva a indexar y construya la matriz.SparseArray
Parecía la opción obvia para construir la matriz, pero podría haber ido conBoxMatrix
yReplacePart
.Sin golf (codificado para la longitud del brazo = 3,
%
significa salida anterior):Uso% @ 4
Como he aprendido, la salida debe ser puramente ASCII sin espacio ni formato adicionales, el código debe ser un poco más largo (172 bytes):
fuente
Carbón , 30 bytes
Explicación
Pruébalo en línea!
fuente
Trim
parece funcionar para golfistas:NθFθ⁺¶#×#ιJ⁰¦⁰Tθ⁺¹θ#⟲O↖²⁴⁶
(⁺¹
es una solución alternativa porqueT⁰¦⁰
no funciona por alguna razón y⊕
no existía en ese momento).