Cetak semua warna kisi 3x3


21

Anda memiliki kisi 3x3. Setiap sel bisa berwarna hitam atau putih. Tampilkan semua 512 warna ini. Bytes paling sedikit menang.

Anda dapat menampilkan kisi-kisi dalam formasi apa saja asalkan terpisah secara visual dan jaraknya terlihat biasa. Anda dapat menggunakan seni atau gambar ASCII. Dua simbol atau warna yang terlihat jelas dapat digunakan untuk hitam dan putih. Setiap spasi putih baik-baik saja asalkan hasilnya secara visual benar.

Contoh output:

...
...
...

...
...
..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

@ edc65 xnor membuat edit, dan Filipe menyetujuinya (setelah itu saya membersihkan komentar). Saya baru saja menambahkan tag.
Martin Ender

Bisakah kita memindahkan contoh ke PasteBin? Anemia untuk menggulir pada saat ini. Selain itu, ini hanya set daya input kuadrat, dibagi menjadi garis-garis input di mana 1s dan 0s digantikan oleh Xdan.
Stan Strum

Jawaban:


16

K, 11 byte

(3 3#)'!9#2

Contoh keluaran:

((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)
…

Ini adalah representasi asli K yang telah dicetak sebelumnya dari daftar matriks, yang saya pikir cukup untuk spec masalah. Setiap matriks dibatasi oleh seperangkat tanda kurung yang dilampirkan.

Dan pemeriksaan kewarasan cepat untuk menunjukkan bahwa 512 matriks dibangun:

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

Sangat mudah. Sebagian besar pekerjaan ada di !. Pertama-tama kita menghasilkan vektor 2-panjang 9s menggunakan "take" ( 9#2). Kemudian, kami menggunakan bentuk monadik "odometer" !- beberapa contoh menggambarkan perilakunya:

  !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)

Maka cukup lakukan 3x3 membentuk kembali ( (3 3#)) dari masing-masing ( ') dari vektor-vektor panjang 9/1.


34

Mathematica, 25 byte

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

Memberikan array dengan semua kisi sebagai gambar, yang juga langsung ditampilkan di layar:

masukkan deskripsi gambar di sini

(Dipotong agar tidak meledakkan pos yang tidak perlu.)


3
diputuskan untuk menjadi hasil tercantik
Filipe Teixeira

14

JavaScript, 77 80

Direvisi setelah revisi OP. Sekarang kami memiliki pertanyaan, jadi inilah jawabannya.

Jalankan cuplikan di browser apa saja untuk menguji.

// 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>

Posting lama: tampilan grafik di browser, dengan javascript dan kanvas. ~ 300 byte kode (bisa dibuat lebih pendek).

Jalankan cuplikan di bawah.

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>


Jika Anda menentukan (ES6), Anda dapat mengganti .join('\n')dengan .join` `(baris literal, bukan spasi ... format komentar bodoh) untuk menyimpan 3 byte
Patrick Roberts

@ PatrickRoberts ya, string template sudah diterapkan di Firefox 14 bulan lalu, tapi saya tidak menyadarinya. Edit kode setelah sekian lama sedikit necrobumping
edc65

6

Matlab, 33

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

Agak fiddly untuk mendapatkan dimensi yang benar, tapi saya sangat senang dengan hasilnya!


6

POWERSHELL - 65

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

hasil

000

000

000


000

000

001


000

000

010


000

000

011

konfirmasi

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

512

sunting diilhami oleh tampilan hasil jawaban mathatica-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")

masukkan deskripsi gambar di sini


6

Python 2, 49 byte

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

Membagi ekspansi biner dari i. Panjang-10 nilai biner 512 hingga 1023 digunakan, memotong awal 1 (dan awalan 0b). Ini dibagi menjadi potongan 3 sebagai jendela [3:6], [6:9], [9:12], dan [12:15], dengan yang terakhir kosong untuk membuat baris kosong. Iterasi pada empat irisan runtuh dengan lingkaran luar menghitung melalui 512 angka dengan trik divmod.


4

CJam, 12 byte

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

Uji di sini.

Menggunakan 0dan 1sebagai karakter yang berbeda.

Penjelasan

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.

Solusi alternatif (masih 12 byte) adalah

2,3m*3m*N*N*

4

Ruby, 86 byte

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}

Milik saya mencetak dengan tanda kutip karena plebih pendek dari puts, tetapi masih sesuai dengan aturan.


4

Haskell, 57 54 byte

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

f memberikan output yang sama seperti pada deskripsi tantangan, yaitu dimulai dengan

...
...
...

...
...
..X

...
...
.X.

Sunting: @Mauris ditemukan 3 byte untuk disimpan. Terima kasih!


Saya pikir r x=sequence[x,x,x]melakukan hal yang sama dan lebih pendek.
Lynn

@Mauris: kamu benar. Mengedit pos saya. Terima kasih!
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"));

Mengubah setiap int menjadi representasi binernya dan membagi setiap 3 karakter.


2

Python 2, 95 Bytes

Karakter yang berbeda adalah 0dan 1, setiap blok dipisahkan oleh \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)])

2

Python 2, 81

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

2

Ruby, 92 byte

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

Dihitung dalam 0s dan 1s, dan setiap blok dipisahkan oleh garis kosong ( \n\n)


2

Ruby, 68 byte

Mencetak keluaran yang sama persis dengan contoh yang diberikan dalam pertanyaan

puts (0..511).map{|i|("%09b"%i).tr("01",".X").gsub(/.../){$&+$/}}*$/

Tidak perlu tr, keluaran 0dan 1baik-baik saja. Beberapa saran lagi 512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}50 byte.
Level River St

2

Python 3, 80 byte

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

Saya berhasil mengalahkan seseorang :)


Simpan satu byte menggunakan loop sementara: i=512baris baruwhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
FlipTack

2

PHP, 55 byte

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

menggunakan 0dan 1. Jalankan dengan -r.


Saya suka cara saya menerapkan garis pemisah :)
Titus


2

Python 2 , 56 byte

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

Cobalah online!

Mengembalikan konfigurasi 512 sebagai objek set dalam python. Lihat versi yang tidak diklik untuk membuat output lebih mudah dibaca.

Versi Ungolfed untuk membuat output lebih mudah dibaca:

Python 2 , 121 byte

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

Cobalah online!


1

C - 97 byte

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);}

Pada dasarnya mencetak contoh output dari pertanyaan awal.


1

Cepat 2, 92 byte

Int ke string biner di Swift membutuhkan terlalu banyak karakter jadi saya hanya menggunakan dua loop bersarang ...

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

1

Prolog (SWI), 98 byte

Output adalah daftar matriks 3x3 yang mengandung elemen 0 dan 1.

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

Penerjemah online

Saya merasa seperti generasi matriks bisa lebih pendek.
Seharusnya mungkin untuk mencocokkan keduanya secara forall atau yang serupa, tapi saya tidak tahu caranya.

Tips golf sangat dihargai.


1

Perl, 56 55 byte

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

Keluaran:

000
000
000

100
000
000
...

1

Python 3, 123 121 109 103 byte

Ini yang lama:

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)]

Dan ini yang baru:

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

Ini mencetak karakter tambahan tetapi OP mengatakan seni ASCII diizinkan yang menyiratkan beberapa karakter baik-baik saja.


1

Python 3, 74 byte

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

Sedikit lebih pendek dari jawaban Destructible Lemon


0

Perl, 52 byte

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

atau 54 byte:

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

atau Perl 5.14+, 48 byte:

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

0

Jelly , 17 byte (tidak bersaing)

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

Cobalah online!

Penggunaan 01. Karena bug dalam , saya harus menggunakan “¶¶bukannya⁾¶¶ , karena jika tidak, alih-alih dua baris baru, dua pilcrow akan muncul di output. Seperti yang Anda lihat, meskipun, itu tidak dikenakan biaya byte sama sekali.

K mengalahkan ini, jadi ini harus lebih jauh diturunkan.





Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.