Problema
entrada dada a,b,c
donde a,b,cson positivos enteros pares
y a > b > c
Haga una caja de cualquier personaje permitido con dimensiones a x a
Centra un cuadro de un personaje permitido diferente con dimensiones b x bdentro del anterior
Centra una caja de otro personaje permitido diferente con dimensiones c x cdentro del anterior
Los caracteres permitidos son caracteres ASCII están en [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+]
Entrada a=6, b=4, c=2
######
#****#
#*@@*#
#*@@*#
#****#
######
Entrada a=8, b=6, c=2
########
#******#
#******#
#**@@**#
#**@@**#
#******#
#******#
########
Entrada a=12, b=6, c=2
############
############
############
###******###
###******###
###**@@**###
###**@@**###
###******###
###******###
############
############
############
Reglas
- El código más corto gana
- Recuerde que puede elegir qué carácter imprimir dentro del rango dado
- Nuevas líneas finales aceptadas
- Espacio en blanco al final aceptado
- las funciones pueden devolver cadenas con líneas nuevas, matriz de cadenas o imprimirlas

Respuestas:
Carbón , 14 bytes
Pruébalo en línea! El enlace es a la versión detallada del código.
fuente
Jalea ,
2019 bytes-1 byte usando el rápido
`para evitar un enlace, como lo sugiere Erik the Outgolfer.Un programa completo que toma una lista
[a,b,c]imprimiendo las cajas usandoa:2 b:1 c:0... de hecho, tal como está, funcionará para hasta 10 cajas, donde está la caja más interna
0( por ejemplo ).Pruébalo en línea!
¿Cómo?
fuente
Python 2,
107103bytesPrograma completo, imprime cajas con
a=2,b=1,c=0Respuesta ligeramente peor, con comprensión de la lista (104 bytes):
fuente
C #,
274232 bytesTerrible incluso para C #, por lo que definitivamente se puede jugar al golf, pero mi mente se ha quedado en blanco.
Versión completa / formateada:
fuente
j + m <= n + cpuedes llegar a sern + c > j + mi + m >= nan < i + mi+m4 veces, por lo que puede agregarlo a una variable en suforpara guardar algoide forma aislada, solo se inicializai=my comparai<b+m; o ... simplemente usei, initi=0pero haga un buclei<a, luego agregue alr[i]=new string('#',a),ladoj=0y agregue una condición para verificar queiesté dentro de los límites deljbucle (esto debería pagar, porque pierde todo el Linq).Haskell , 126 bytes
Pruébalo en línea!
fuente
JavaScript (ES6),
174170147 bytesIntentalo
Explicación
fuente
C (gcc) , 97 bytes
Pruébalo en línea!
fuente
V ,
70, 44, 42 bytesPruébalo en línea!
Esto es horrible Eww.Mucho mejor. Todavía no es el más corto, pero al menos algo golfoso.¡Ahorré dos bytes gracias a @ nmjmcman101!
Hexdump:
fuente
MATL ,
2623222018 bytesLa entrada es un vector de columna
[a; b; c]. Utiliza la salida de caracteres2,1,0.Pruébalo en línea!
Además, funciona para hasta diez cajas, no solo para tres. Aquí hay un ejemplo con cinco cajas .
fuente
Mathematica, 49 bytes
Toma entrada
[c, b, a]. La salida esa=1, b=2, c=3.¿Cómo?
fuente
GridNo haceStringni loPrinthace.PHP> = 7.1, 180 bytes
En este caso, odio que las variables comiencen con a
$en PHPPHP Sandbox en línea
fuente
$argvcomo una matriz? ¿Has intentado eso? ¿Has probado ternaries separados?Mathematica, 173 bytes
entrada
fuente
Python 2 , 87 bytes
Pruébalo en línea!
Calcula aritméticamente los números para imprimir agregando números del formulario
111100. Hay mucha fealdad, probablemente hay margen de mejora.fuente
Java 8,
265252 bytes-13 bytes reemplazando los caracteres con dígitos.
Definitivamente se puede jugar al golf utilizando un enfoque diferente.
Explicación:
Pruébalo aquí
fuente
JavaScript (ES6), 112
Función anónima que devuelve una cadena de varias líneas. Caracteres 0,1,2
Menos golf
fuente
PHP> = 5.6, 121 bytes
Ejecutar
-nro probarlo en línea .Bucles combinados de nuevo ... ¡Los amo!
Descompostura
fuente