Imprimer tous les coloris d'une grille 3x3

21

Vous avez une grille 3x3. Chaque cellule peut être colorée en noir ou blanc. Affichez les 512 coloris. Le moins d'octets gagne.

Vous pouvez afficher les grilles dans n'importe quelle formation tant qu'elles sont visuellement séparées et que l'espacement semble régulier. Vous pouvez utiliser de l'art ou des images ASCII. Deux symboles ou couleurs visibles distincts peuvent être utilisés pour le noir et le blanc. Tout espace est correct tant que le résultat est visuellement correct.

Exemple de sortie:

...
...
...

...
...
..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
Filipe Teixeira
la source
@ edc65 xnor a effectué la modification et Filipe l'a approuvée (après quoi j'ai purgé les commentaires). Je viens d'ajouter des balises.
Martin Ender
Pouvons-nous déplacer l'exemple vers un PasteBin? C'est anémique de défiler dès maintenant. En outre, ce n'est que le jeu de puissance de l'entrée au carré, divisé en lignes de l'entrée où les 1s et les 0s sont remplacés par Xet.
Stan Strum

Réponses:

16

K, 11 octets

(3 3#)'!9#2

Exemple de sortie:

((0 0 0
  0 0 0
  0 0 0)
 (0 0 0
  0 0 0
  0 0 1)
 (0 0 0
  0 0 0
  0 1 0)
 (0 0 0
  0 0 0
  0 1 1)
…

Il s'agit de la représentation jolie imprimée native de K d'une liste de matrices, qui je pense est suffisante pour la spécification du problème. Chaque matrice est délimitée par un ensemble de parenthèses englobantes.

Et un rapide test de validité pour démontrer que 512 matrices sont construites:

  #(3 3#)'!9#2
512

Très simple. La plupart du travail est dans le !. D'abord, nous générons un vecteur de 9 de 2 en utilisant "take" ( 9#2). Ensuite, nous utilisons la forme monadique "odomètre" de !- quelques exemples illustrent son comportement:

  !2 2
(0 0
 0 1
 1 0
 1 1)
  !2 3
(0 0
 0 1
 0 2
 1 0
 1 1
 1 2)
  !2 2 2
(0 0 0
 0 0 1
 0 1 0
 0 1 1
 1 0 0
 1 0 1
 1 1 0
 1 1 1)

Ensuite, il suffit de refaçonner 3x3 ( (3 3#)) de chacun ( ') des vecteurs 0/1 de 9 longueurs.

JohnE
la source
34

Mathematica, 25 octets

Image/@{0,1}~Tuples~{3,3}

Donne un tableau avec toutes les grilles sous forme d'images, qui est également directement affiché à l'écran:

entrez la description de l'image ici

(Recadrée pour ne pas faire exploser le poteau inutilement.)

Martin Ender
la source
3
voté pour être la plus jolie sortie
Filipe Teixeira
14

JavaScript, 77 80

Révisé après la révision du PO. Maintenant, nous avons une question, voici donc une réponse.

Exécutez l'extrait dans n'importe quel navigateur pour tester.

// Test: redefine console to have output inside the snippet

console = { log: function(x) { O.textContent+=x+'\n\n';} }

// Solution: 77 chars (note, distinct outputs to console are automatically separed)
  
for(i=511;++i<1024;)console.log(i.toString(2).slice(1).match(/.../g).join`
`)
<pre id=O></pre>

Old post: affichage graphique dans un navigateur, avec javascript et canvas. ~ 300 octets de code (peut être raccourci).

Exécutez l'extrait ci-dessous.

d=8, // Min block size
C.width=d*64,C.height=d*128,
T=C.getContext('2d')

for(i=0;i<512;i++)
{
  bx=4*(i/32|0)
  by=4*(i%32)
  for(b=1,j=0;j<9;j++,b+=b)    
  {
    if(b&i) 
      x=j/3|0, y=j%3, T.fillRect((bx+x)*d,(by+y)*d,d,d);
  }
  T.strokeRect(bx*d,by*d,d*3,d*3);
}
<canvas id=C></canvas>

edc65
la source
Si vous spécifiez (ES6), vous pouvez remplacer .join('\n')par .join` `(saut de ligne littéral, pas d'espace ... formatage de commentaire stupide) pour économiser 3 octets
Patrick Roberts
@PatrickRoberts oui, la chaîne de modèle a déjà été implémentée dans Firefox il y a 14 mois, mais je n'étais pas au courant de cela. Modifier le code après tant de temps est un peu necrobumping
edc65
6

Matlab, 33

reshape(dec2bin(0:511,9)',3,3,[])

C'était un peu compliqué d'obtenir les dimensions correctes, mais je suis très content du résultat!

Oebele
la source
6

POWERSHELL - 65

0..511|%{[convert]::ToString($_,2).padleft(9,'0')-split"(.{3})"}

résultat

000

000

000


000

000

001


000

000

010


000

000

011

confirmation

(0..511|%{[convert]::ToString($_,2).padleft(9,'0')-split"(.{3})"} | measure -Line).lines/3

512

edit inspiré par l'affichage des résultats de la réponse mathématique-617

Add-Type -AssemblyName System.Drawing
$a=new-object System.Drawing.Bitmap 992,496
$g=[Drawing.Graphics]::FromImage($a)
$b=@{};$y=@{};$i=$c=$d=$z=$k=$l=$m=0;
0..511|%{$y[$d++]=[convert]::ToString($_,2).padleft(9,'0')}
while($m-lt480){while($l-lt496){for($z=($m+0);$z-lt($m+32);$z++){
      $y[$z].tochararray()|%{if($_-eq"0"){$b[$i++]=[Drawing.Brushes]::Black}
        else{$b[$i++]=[Drawing.Brushes]::White}
      }
      for($j=($l+0);$j-lt($l+30);$j+=10){
        ($k+0),($k+10),($k+20)|%{$g.FillRectangle($b[$c++],$_,$j,10,10)}
      }$k+=31
    }$k=0;$l+=31;$m+=32
  }
}$a.save("$HOME/3X3_Grid.png")

entrez la description de l'image ici

blabb
la source
6

Python 2, 49 octets

i=2048;exec"print bin(i/4)[i%4*3+3:][:3];i+=1;"*i

Divisez l'expansion binaire de i. Les valeurs binaires de longueur 10 512 à 1023 sont utilisées, coupant le 1 initial (et le préfixe 0b). Ceux - ci sont divisés en morceaux de 3 fenêtres comme [3:6], [6:9], [9:12]et [12:15], avec le dernier en blanc pour faire une ligne blanche. L'itération sur les quatre tranches est réduite à la boucle externe de comptage sur 512 nombres avec l'astuce divmod.

xnor
la source
4

CJam, 12 octets

2,9m*3f/N*N*

Testez-le ici.

Utilise 0et 1comme caractères distincts.

Explication

2,  e# Push [0 1].
9m* e# Generate all 9-tuples of 0s and 1s.
3f/ e# Split each 9-tuple into 3 subarrays of length 3.
N*  e# Join all those grids with newlines.
N*  e# Put newlines between all the length-3 arrays.

Une solution alternative (toujours de 12 octets) est

2,3m*3m*N*N*
Martin Ender
la source
4

Rubis, 86 octets

0.upto(511).map{|i|i.to_s(2).rjust(9,'0')}.each{|j|p j[0..2];p j[3..5];p j[6..8];puts}

Le mien imprime avec des guillemets car pest plus court que puts, mais il correspond toujours aux règles.

Piccolo
la source
4

Haskell, 57 54 octets

r x=sequence[x,x,x]
u=unlines
f=putStr$u$map u$r$r".X"

f donne le même résultat que dans la description du défi, c'est-à-dire qu'il commence par

...
...
...

...
...
..X

...
...
.X.

Edit: @Mauris a trouvé 3 octets à enregistrer. Merci!

nimi
la source
Je pense que r x=sequence[x,x,x]fait la même chose et est plus court.
Lynn
@Mauris: vous avez raison. Modifié mon message. Merci!
nimi
3

C # - 111

for(int i=0;i<512;i++)Console.WriteLine(Regex.Replace(Convert.ToString(i,2).PadLeft(9,'0'),"(.{3})","$1\r\n"));

Convertit chaque entier en sa représentation binaire et divise tous les 3 caractères.

Stephan Schinkel
la source
2

Python 2, 95 octets

Les caractères distincts sont 0et 1, chaque bloc est séparé par \n\n.

n='\n';print(n+n).join(y[:3]+n+y[3:6]+n+y[-3:]for y in[bin(x)[2:].zfill(9)for x in range(512)])
Kade
la source
2

Python 2, 81

import re
for i in range(512):print re.sub('(.{3})','\\1\n',bin(i)[2:].zfill(9))
diète
la source
2

Rubis, 92 octets

0.upto(511){|i|("%09d"%i.to_s(2)).scan(/.{3}/).map{|j|j.scan(/./)}.map{|j|puts j.join};puts}

Compte en 0s et 1s, et chaque bloc est séparé par une ligne vide ( \n\n)

taper
la source
2

Rubis, 68 octets

Imprime exactement la même sortie que l'exemple donné dans la question

puts (0..511).map{|i|("%09b"%i).tr("01",".X").gsub(/.../){$&+$/}}*$/
daniero
la source
Pas besoin de tr, sortie 0et ça 1va. Quelques suggestions de plus 512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}50 octets.
Level River St
2

Python 3, 80 octets

for i in range(512):print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n")

J'ai réussi à déjouer quelqu'un :)

Citron destructible
la source
Enregistrer un octet en utilisant une boucle while: i=512nouvelle lignewhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
FlipTack
2

PHP, 55 octets

for(;$c<512;)echo chunk_split(sprintf("%09b ",$c++),3);

utilise 0et 1. Courez avec -r.

Titus
la source
J'adore la façon dont j'ai implémenté la nouvelle ligne de séparation :)
Titus
2

Python 2 , 56 octets

from itertools import*
print set(combinations('X.'*9,9))

Essayez-le en ligne!

Renvoie les 512 configurations en tant qu'objet défini en python. Reportez-vous à la version non golfée pour rendre la sortie plus lisible.

Version non golfée pour rendre la sortie plus lisible:

Python 2 , 121 octets

from itertools import*
for i in set(combinations('X.'*9,9)):
	for j in range(3):print''.join(list(i))[j*3:(j*3)+3]
	print

Essayez-le en ligne!

Koishore Roy
la source
1

C - 97 octets

i;main(j){for(;i++<512;)for(j=0;j++<13;)putchar(j%4&&j<13?i%(1<<j-j/4)>(1<<j-j/4-1)-1?88:46:10);}

Imprime essentiellement l'exemple de sortie de la question d'origine.

Cole Cameron
la source
1

Swift 2, 92 octets

L'int en chaîne binaire dans Swift prend trop de caractères donc j'utilise juste deux boucles imbriquées ...

var s="";for x in 0..<512{(0..<9).map{s+=($0%3==0 ?"\n":"")+"\(x>>$0&1)"};s+="\n-"};print(s)
GoatInTheMachine
la source
1

Prolog (SWI), 98 octets

La sortie est une liste de matrices 3x3 contenant les éléments 0 et 1.

r([]).
r([H|T]):-between(0,1,H),r(T).
p(Y):-Z=[[_,_,_],[_,_,_],[_,_,_]],findall(Z,maplist(r,Z),Y).

Interprète en ligne

J'ai l'impression que la génération de matrice pourrait être plus courte.
Il devrait être possible d'intégrer les deux dans un forall ou quelque chose de similaire, mais je ne sais pas comment.

Conseils de golf appréciés.

Emigna
la source
1

Perl, 56 55 octets

print$_/9&1<<$_%9?1:0,$/x(!(++$_%3)+!($_%9))for+0..4607

Sortie:

000
000
000

100
000
000
...
Denis Ibaev
la source
1

Python 3, 123 121 109 109 103 octets

Voici mon ancien:

import itertools
[print(a+b+c,d+e+f,g+h+i,'\n',sep='\n') for a,b,c,d,e,f,g,h,i in itertools.product(['X','.'],repeat=9)]

Et voici ma nouvelle:

import itertools as i
[print(a[:3],a[3:6],a[6:],'\n',sep='\n') for a in i.product(['X','.'],repeat=9)]

Cela imprime des caractères supplémentaires, mais l'OP a déclaré que l'art ASCII est autorisé, ce qui implique que plusieurs caractères sont corrects.

Lord Ratte
la source
1

Python 3, 74 octets

i=512;b="\n"
while i:i-=1;a=format(i,'09b');print(a[:3]+b+a[3:6]+b+a[6:],b)

Juste un peu plus court que la réponse de Destructible Lemon

Tatou
la source
0

Perl, 52 octets

printf+("%03b
"x3).$/,$_&7,$_/8&7,$_>>6&7 for 0..511

ou 54 octets:

print map$_.$/,sprintf('%09b',$_)=~/.../g,''for 0..511

ou Perl 5.14+, 48 octets:

say sprintf('%09b',$_)=~s/.../$&\n/gr for 0..511
Denis Ibaev
la source
0

Gelée , 17 octets (non concurrent)

512+ḶBḊ€s€3Y€j“¶¶

Essayez-le en ligne!

Utilise 01. À cause d'un bogue , j'ai dû utiliser “¶¶au lieu de⁾¶¶ , car sinon, au lieu de deux nouvelles lignes, deux pilcrows se seraient présentés dans la sortie. Comme vous pouvez le voir, cela ne m'a pas coûté d'octets du tout.

K bat cela, donc cela doit être approfondi.

Erik le Outgolfer
la source
0

J , 27 octets

echo@<"2'.X'{~_3]\"1#:i.512

Essayez-le en ligne!

FrownyFrog
la source
Le problème n'est pas restrictif sur le format de sortie, vous pouvez donc l'utiliser echo _3]\"1#:i.512.
Bolce Bussiere le