El objetivo es producir la salida de n cuadrados (nxn) de enteros aleatorios ( 0-9
) con un movimiento *
que gira en sentido horario alrededor de las esquinas, comenzando desde la parte superior izquierda. Los cuadrados deben estar uno al lado del otro y separados por un solo espacio.
Si n = 0
, la salida debe estar vacía.
Salida para n=1
:
*
Salida para n=2
:
*3 4*
14 07
Salida para n=3
:
*34 82* 291
453 224 924
145 158 57*
Salida para n=4
:
*153 135* 0154 0235
2352 5604 3602 2065
2245 6895 3561 7105
7225 5785 479* *662
Observe cómo *
gira (alrededor de las esquinas del cuadrado), de izquierda a derecha, así: arriba a la izquierda, arriba a la derecha, abajo a la derecha, abajo a la izquierda, arriba a la izquierda, etc. (en sentido horario)
La respuesta más corta (medida en bytes) gana.
*
s en eln=4
ejemplo? Quizás dar algunos ejemplos más?*153
, el segundo con la fila superior*135
, y así sucesivamente.Respuestas:
05AB1E ,
5049 bytesExplicación
Ejemplos para input = 4.
Primero creamos una cadena de entrada ^ 3 números aleatorios entre 0 y 9.
productor
Luego lo dividimos en pedazos, cada uno del tamaño de la entrada.
Eso se divide aún más en piezas de entrada.
Esto nos da una matriz de números.
Luego recorremos las filas de la matriz, insertando asteriscos en los lugares correctos.
Ahora tenemos la matriz con un "*" en cada fila, pero queremos un asterisco por columna.
Así que comprimimos esta lista convirtiendo las filas en columnas y viceversa.
Todo lo que queda ahora es formatear la salida.
Unir las filas en espacios y las columnas en líneas nuevas nos da el resultado final.
Pruébalo en línea!
Solución antigua de 50 bytes
fuente
Dyalog APL , 57 bytes
Requiere
⎕IO←0
cuál es el predeterminado en muchos sistemas.Suponiendo que se permite el doble espacio, según el primer ejemplo del OP.
TryAPL en línea!
Solución de 49 bytes no competitiva (Dyalog APL 16.0):
fuente
Java 7,
372370366 bytesProbablemente se pueda jugar más golf colocando los asteriscos y creando la salida al mismo tiempo, en lugar de uno por uno.
Ungolfed y código de prueba:
Pruébalo aquí.
Salida posible:
fuente
PHP, 181 bytes
fuente