Tienes una cuadrícula de 3x3. Cada celda puede ser de color negro o blanco. Muestra los 512 de estos colores. Pocos bytes ganan.
Puede mostrar las cuadrículas en cualquier formación siempre que estén visualmente separadas y el espacio se vea regular. Puede usar imágenes o arte ASCII. Se pueden usar dos símbolos o colores visibles distintos para blanco y negro. Cualquier espacio en blanco está bien siempre que el resultado sea visualmente correcto.
Salida de ejemplo:
...
...
...
...
...
..X
...
...
.X.
...
...
.XX
...
...
X..
...
...
X.X
...
...
XX.
...
...
XXX
...
..X
...
...
..X
..X
...
..X
.X.
...
..X
.XX
...
..X
X..
...
..X
X.X
...
..X
XX.
...
..X
XXX
...
.X.
...
...
.X.
..X
...
.X.
.X.
...
.X.
.XX
...
.X.
X..
...
.X.
X.X
...
.X.
XX.
...
.X.
XXX
...
.XX
...
...
.XX
..X
...
.XX
.X.
...
.XX
.XX
...
.XX
X..
...
.XX
X.X
...
.XX
XX.
...
.XX
XXX
...
X..
...
...
X..
..X
...
X..
.X.
...
X..
.XX
...
X..
X..
...
X..
X.X
...
X..
XX.
...
X..
XXX
...
X.X
...
...
X.X
..X
...
X.X
.X.
...
X.X
.XX
...
X.X
X..
...
X.X
X.X
...
X.X
XX.
...
X.X
XXX
...
XX.
...
...
XX.
..X
...
XX.
.X.
...
XX.
.XX
...
XX.
X..
...
XX.
X.X
...
XX.
XX.
...
XX.
XXX
...
XXX
...
...
XXX
..X
...
XXX
.X.
...
XXX
.XX
...
XXX
X..
...
XXX
X.X
...
XXX
XX.
...
XXX
XXX
..X
...
...
..X
...
..X
..X
...
.X.
..X
...
.XX
..X
...
X..
..X
...
X.X
..X
...
XX.
..X
...
XXX
..X
..X
...
..X
..X
..X
..X
..X
.X.
..X
..X
.XX
..X
..X
X..
..X
..X
X.X
..X
..X
XX.
..X
..X
XXX
..X
.X.
...
..X
.X.
..X
..X
.X.
.X.
..X
.X.
.XX
..X
.X.
X..
..X
.X.
X.X
..X
.X.
XX.
..X
.X.
XXX
..X
.XX
...
..X
.XX
..X
..X
.XX
.X.
..X
.XX
.XX
..X
.XX
X..
..X
.XX
X.X
..X
.XX
XX.
..X
.XX
XXX
..X
X..
...
..X
X..
..X
..X
X..
.X.
..X
X..
.XX
..X
X..
X..
..X
X..
X.X
..X
X..
XX.
..X
X..
XXX
..X
X.X
...
..X
X.X
..X
..X
X.X
.X.
..X
X.X
.XX
..X
X.X
X..
..X
X.X
X.X
..X
X.X
XX.
..X
X.X
XXX
..X
XX.
...
..X
XX.
..X
..X
XX.
.X.
..X
XX.
.XX
..X
XX.
X..
..X
XX.
X.X
..X
XX.
XX.
..X
XX.
XXX
..X
XXX
...
..X
XXX
..X
..X
XXX
.X.
..X
XXX
.XX
..X
XXX
X..
..X
XXX
X.X
..X
XXX
XX.
..X
XXX
XXX
.X.
...
...
.X.
...
..X
.X.
...
.X.
.X.
...
.XX
.X.
...
X..
.X.
...
X.X
.X.
...
XX.
.X.
...
XXX
.X.
..X
...
.X.
..X
..X
.X.
..X
.X.
.X.
..X
.XX
.X.
..X
X..
.X.
..X
X.X
.X.
..X
XX.
.X.
..X
XXX
.X.
.X.
...
.X.
.X.
..X
.X.
.X.
.X.
.X.
.X.
.XX
.X.
.X.
X..
.X.
.X.
X.X
.X.
.X.
XX.
.X.
.X.
XXX
.X.
.XX
...
.X.
.XX
..X
.X.
.XX
.X.
.X.
.XX
.XX
.X.
.XX
X..
.X.
.XX
X.X
.X.
.XX
XX.
.X.
.XX
XXX
.X.
X..
...
.X.
X..
..X
.X.
X..
.X.
.X.
X..
.XX
.X.
X..
X..
.X.
X..
X.X
.X.
X..
XX.
.X.
X..
XXX
.X.
X.X
...
.X.
X.X
..X
.X.
X.X
.X.
.X.
X.X
.XX
.X.
X.X
X..
.X.
X.X
X.X
.X.
X.X
XX.
.X.
X.X
XXX
.X.
XX.
...
.X.
XX.
..X
.X.
XX.
.X.
.X.
XX.
.XX
.X.
XX.
X..
.X.
XX.
X.X
.X.
XX.
XX.
.X.
XX.
XXX
.X.
XXX
...
.X.
XXX
..X
.X.
XXX
.X.
.X.
XXX
.XX
.X.
XXX
X..
.X.
XXX
X.X
.X.
XXX
XX.
.X.
XXX
XXX
.XX
...
...
.XX
...
..X
.XX
...
.X.
.XX
...
.XX
.XX
...
X..
.XX
...
X.X
.XX
...
XX.
.XX
...
XXX
.XX
..X
...
.XX
..X
..X
.XX
..X
.X.
.XX
..X
.XX
.XX
..X
X..
.XX
..X
X.X
.XX
..X
XX.
.XX
..X
XXX
.XX
.X.
...
.XX
.X.
..X
.XX
.X.
.X.
.XX
.X.
.XX
.XX
.X.
X..
.XX
.X.
X.X
.XX
.X.
XX.
.XX
.X.
XXX
.XX
.XX
...
.XX
.XX
..X
.XX
.XX
.X.
.XX
.XX
.XX
.XX
.XX
X..
.XX
.XX
X.X
.XX
.XX
XX.
.XX
.XX
XXX
.XX
X..
...
.XX
X..
..X
.XX
X..
.X.
.XX
X..
.XX
.XX
X..
X..
.XX
X..
X.X
.XX
X..
XX.
.XX
X..
XXX
.XX
X.X
...
.XX
X.X
..X
.XX
X.X
.X.
.XX
X.X
.XX
.XX
X.X
X..
.XX
X.X
X.X
.XX
X.X
XX.
.XX
X.X
XXX
.XX
XX.
...
.XX
XX.
..X
.XX
XX.
.X.
.XX
XX.
.XX
.XX
XX.
X..
.XX
XX.
X.X
.XX
XX.
XX.
.XX
XX.
XXX
.XX
XXX
...
.XX
XXX
..X
.XX
XXX
.X.
.XX
XXX
.XX
.XX
XXX
X..
.XX
XXX
X.X
.XX
XXX
XX.
.XX
XXX
XXX
X..
...
...
X..
...
..X
X..
...
.X.
X..
...
.XX
X..
...
X..
X..
...
X.X
X..
...
XX.
X..
...
XXX
X..
..X
...
X..
..X
..X
X..
..X
.X.
X..
..X
.XX
X..
..X
X..
X..
..X
X.X
X..
..X
XX.
X..
..X
XXX
X..
.X.
...
X..
.X.
..X
X..
.X.
.X.
X..
.X.
.XX
X..
.X.
X..
X..
.X.
X.X
X..
.X.
XX.
X..
.X.
XXX
X..
.XX
...
X..
.XX
..X
X..
.XX
.X.
X..
.XX
.XX
X..
.XX
X..
X..
.XX
X.X
X..
.XX
XX.
X..
.XX
XXX
X..
X..
...
X..
X..
..X
X..
X..
.X.
X..
X..
.XX
X..
X..
X..
X..
X..
X.X
X..
X..
XX.
X..
X..
XXX
X..
X.X
...
X..
X.X
..X
X..
X.X
.X.
X..
X.X
.XX
X..
X.X
X..
X..
X.X
X.X
X..
X.X
XX.
X..
X.X
XXX
X..
XX.
...
X..
XX.
..X
X..
XX.
.X.
X..
XX.
.XX
X..
XX.
X..
X..
XX.
X.X
X..
XX.
XX.
X..
XX.
XXX
X..
XXX
...
X..
XXX
..X
X..
XXX
.X.
X..
XXX
.XX
X..
XXX
X..
X..
XXX
X.X
X..
XXX
XX.
X..
XXX
XXX
X.X
...
...
X.X
...
..X
X.X
...
.X.
X.X
...
.XX
X.X
...
X..
X.X
...
X.X
X.X
...
XX.
X.X
...
XXX
X.X
..X
...
X.X
..X
..X
X.X
..X
.X.
X.X
..X
.XX
X.X
..X
X..
X.X
..X
X.X
X.X
..X
XX.
X.X
..X
XXX
X.X
.X.
...
X.X
.X.
..X
X.X
.X.
.X.
X.X
.X.
.XX
X.X
.X.
X..
X.X
.X.
X.X
X.X
.X.
XX.
X.X
.X.
XXX
X.X
.XX
...
X.X
.XX
..X
X.X
.XX
.X.
X.X
.XX
.XX
X.X
.XX
X..
X.X
.XX
X.X
X.X
.XX
XX.
X.X
.XX
XXX
X.X
X..
...
X.X
X..
..X
X.X
X..
.X.
X.X
X..
.XX
X.X
X..
X..
X.X
X..
X.X
X.X
X..
XX.
X.X
X..
XXX
X.X
X.X
...
X.X
X.X
..X
X.X
X.X
.X.
X.X
X.X
.XX
X.X
X.X
X..
X.X
X.X
X.X
X.X
X.X
XX.
X.X
X.X
XXX
X.X
XX.
...
X.X
XX.
..X
X.X
XX.
.X.
X.X
XX.
.XX
X.X
XX.
X..
X.X
XX.
X.X
X.X
XX.
XX.
X.X
XX.
XXX
X.X
XXX
...
X.X
XXX
..X
X.X
XXX
.X.
X.X
XXX
.XX
X.X
XXX
X..
X.X
XXX
X.X
X.X
XXX
XX.
X.X
XXX
XXX
XX.
...
...
XX.
...
..X
XX.
...
.X.
XX.
...
.XX
XX.
...
X..
XX.
...
X.X
XX.
...
XX.
XX.
...
XXX
XX.
..X
...
XX.
..X
..X
XX.
..X
.X.
XX.
..X
.XX
XX.
..X
X..
XX.
..X
X.X
XX.
..X
XX.
XX.
..X
XXX
XX.
.X.
...
XX.
.X.
..X
XX.
.X.
.X.
XX.
.X.
.XX
XX.
.X.
X..
XX.
.X.
X.X
XX.
.X.
XX.
XX.
.X.
XXX
XX.
.XX
...
XX.
.XX
..X
XX.
.XX
.X.
XX.
.XX
.XX
XX.
.XX
X..
XX.
.XX
X.X
XX.
.XX
XX.
XX.
.XX
XXX
XX.
X..
...
XX.
X..
..X
XX.
X..
.X.
XX.
X..
.XX
XX.
X..
X..
XX.
X..
X.X
XX.
X..
XX.
XX.
X..
XXX
XX.
X.X
...
XX.
X.X
..X
XX.
X.X
.X.
XX.
X.X
.XX
XX.
X.X
X..
XX.
X.X
X.X
XX.
X.X
XX.
XX.
X.X
XXX
XX.
XX.
...
XX.
XX.
..X
XX.
XX.
.X.
XX.
XX.
.XX
XX.
XX.
X..
XX.
XX.
X.X
XX.
XX.
XX.
XX.
XX.
XXX
XX.
XXX
...
XX.
XXX
..X
XX.
XXX
.X.
XX.
XXX
.XX
XX.
XXX
X..
XX.
XXX
X.X
XX.
XXX
XX.
XX.
XXX
XXX
XXX
...
...
XXX
...
..X
XXX
...
.X.
XXX
...
.XX
XXX
...
X..
XXX
...
X.X
XXX
...
XX.
XXX
...
XXX
XXX
..X
...
XXX
..X
..X
XXX
..X
.X.
XXX
..X
.XX
XXX
..X
X..
XXX
..X
X.X
XXX
..X
XX.
XXX
..X
XXX
XXX
.X.
...
XXX
.X.
..X
XXX
.X.
.X.
XXX
.X.
.XX
XXX
.X.
X..
XXX
.X.
X.X
XXX
.X.
XX.
XXX
.X.
XXX
XXX
.XX
...
XXX
.XX
..X
XXX
.XX
.X.
XXX
.XX
.XX
XXX
.XX
X..
XXX
.XX
X.X
XXX
.XX
XX.
XXX
.XX
XXX
XXX
X..
...
XXX
X..
..X
XXX
X..
.X.
XXX
X..
.XX
XXX
X..
X..
XXX
X..
X.X
XXX
X..
XX.
XXX
X..
XXX
XXX
X.X
...
XXX
X.X
..X
XXX
X.X
.X.
XXX
X.X
.XX
XXX
X.X
X..
XXX
X.X
X.X
XXX
X.X
XX.
XXX
X.X
XXX
XXX
XX.
...
XXX
XX.
..X
XXX
XX.
.X.
XXX
XX.
.XX
XXX
XX.
X..
XXX
XX.
X.X
XXX
XX.
XX.
XXX
XX.
XXX
XXX
XXX
...
XXX
XXX
..X
XXX
XXX
.X.
XXX
XXX
.XX
XXX
XXX
X..
XXX
XXX
X.X
XXX
XXX
XX.
XXX
XXX
XXX
code-golf
ascii-art
graphical-output
combinatorics
grid
Filipe Teixeira
fuente
fuente
1
s y0
s son reemplazadas porX
e.
Respuestas:
K, 11 bytes
Ejemplo de salida:
Esta es la representación nativa de K de una lista de matrices, que creo que es suficiente para la especificación del problema. Cada matriz está delimitada por un conjunto de paréntesis.
Y una comprobación rápida de la cordura para demostrar que se construyen 512 matrices:
Muy sencillo La mayor parte del trabajo está en el
!
. Primero generamos un vector de 2 de 9 largos usando "take" (9#2
). Luego, utilizamos la forma monádica de "odómetro" de!
: algunos ejemplos ilustran su comportamiento:Luego, simplemente haga una remodelación 3x3 (
(3 3#)
) de cada ('
) de los vectores 0/1 de 9 longitudes.fuente
Mathematica, 25 bytes
Proporciona una matriz con todas las cuadrículas como imágenes, que también se muestra directamente en la pantalla:
(Recortada para no hacer estallar la publicación innecesariamente).
fuente
JavaScript, 77
80Revisado después de la revisión del PO. Ahora tenemos una pregunta, así que aquí hay una respuesta.
Ejecute el fragmento en cualquier navegador para probar.
Publicación anterior: visualización gráfica en un navegador, con JavaScript y lienzo. ~ 300 bytes de código (se puede acortar).
Ejecute el fragmento a continuación.
fuente
(ES6)
, puede reemplazarlo.join('\n')
con .join`` (nueva línea literal, no espacio ... formato de comentario estúpido) para guardar 3 bytesMatlab, 33
Fue un poco complicado obtener las dimensiones correctas, ¡pero estoy muy contento con el resultado!
fuente
POWERSHELL - 65
resultado
confirmación
edición inspirada en la visualización de resultados de la respuesta matemática-617
fuente
Python 2, 49 bytes
Divide la expansión binaria de
i
. Se utilizan los valores binarios de longitud 10 512 a 1023, cortando el 1 inicial (y el prefijo0b
). Estos se dividen en trozos de 3 como ventanas[3:6]
,[6:9]
,[9:12]
, y[12:15]
, con el último espacio en blanco para hacer una línea en blanco. La iteración sobre las cuatro rebanadas se contrae con el bucle externo de contar a través de 512 números con el truco divmod.fuente
CJam, 12 bytes
Pruébalo aquí.
Usos
0
y1
como los distintos personajes.Explicación
Una solución alternativa (todavía de 12 bytes) es
fuente
Ruby, 86 bytes
El mío imprime con comillas porque
p
es más corto queputs
, pero aún se ajusta a las reglas.fuente
Haskell,
5754 bytesf
da el mismo resultado que en la descripción del desafío, es decir, comienza conEditar: @Mauris encontró 3 bytes para guardar. ¡Gracias!
fuente
r x=sequence[x,x,x]
hace lo mismo y es más corto.C # - 111
Convierte cada int en su representación binaria y divide cada 3 caracteres.
fuente
Python 2, 95 bytes
Los caracteres distintos son
0
y1
, cada bloque está separado por\n\n
.fuente
Pitón 2, 81
fuente
Ruby, 92 bytes
Cuenta en
0
sy1
s, y cada bloque está separado por una línea vacía (\n\n
)fuente
Ruby, 68 bytes
Imprime exactamente la misma salida que el ejemplo dado en la pregunta
fuente
tr
salida0
y1
está bien. Algunas sugerencias más512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}
50 bytes.Python 3, 80 bytes
Me las arreglé para superar a alguien :)
fuente
i=512
nueva líneawhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
PHP, 55 bytes
usos
0
y1
. Corre con-r
.fuente
Pyth, 11 bytes
Pruébalo aquí!
Gracias @Jakube :)
fuente
Python 2 , 56 bytes
Pruébalo en línea!
Devuelve las configuraciones 512 como un objeto establecido en python. Consulte la versión no protegida para que la salida sea más legible.
Versión sin campos para hacer que la salida sea más legible:
Python 2 , 121 bytes
Pruébalo en línea!
fuente
C - 97 bytes
Básicamente imprime el resultado de ejemplo de la pregunta original.
fuente
Swift 2, 92 bytes
Int a cadena binaria en Swift ocupa demasiados caracteres, así que solo uso dos bucles anidados ...
fuente
Prólogo (SWI), 98 bytes
La salida es una lista de matrices 3x3 que contiene los elementos 0 y 1.
Intérprete en línea
Siento que la generación de la matriz podría ser más corta.
Debería ser posible ajustar el intervalo en un forall o algo similar, pero no puedo entender cómo.
Consejos de golf apreciados.
fuente
Perl,
5655 bytesSalida:
fuente
Python 3,
123121109103 bytesAquí está mi viejo:
Y aquí está mi nuevo:
Esto imprime caracteres adicionales, pero el OP dijo que el arte ASCII está permitido, lo que implica que varios caracteres están bien.
fuente
Python 3, 74 bytes
Solo un poco más corto que la respuesta de Destructible Lemon
fuente
Perl, 52 bytes
o 54 bytes:
o Perl 5.14+, 48 bytes:
fuente
Jalea , 17 bytes (no competitiva)
Pruébalo en línea!
Usos
01
. Debido a un error⁾
, tuve que usar en“¶¶
lugar de⁾¶¶
, porque de lo contrario, en lugar de dos líneas nuevas, dos pilcrows se habrían mostrado en la salida. Sin embargo, como puede ver, eso no me costó nada de bytes.K supera esto, por lo que esto debe ser más golfizado.
fuente
05AB1E , 15 bytes (no competitivos)
Pruébalo en línea!
fuente
J , 27 bytes
Pruébalo en línea!
fuente
echo _3]\"1#:i.512
.Tcl , 72 bytes
Pruébalo en línea!
fuente
Python 2 , 114 bytes
Pruébalo en línea!
fuente