3x3 ızgarasının tüm renklerini yazdır


21

3x3 ızgara var. Her hücre siyah veya beyaz renkli olabilir. Bu renklerin 512'ini görüntüleyin. En az bayt kazanır.

Izgaraları görsel olarak ayrıldıkları ve boşluk düzenli göründükleri sürece herhangi bir biçimde görüntüleyebilirsiniz. ASCII sanatını veya resimlerini kullanabilirsiniz. Herhangi iki belirgin görünür sembol veya renk siyah ve beyaz için kullanılabilir. Sonuç görsel olarak doğru olduğu sürece herhangi bir boşluk yeterlidir.

Örnek çıktı:

...
...
...

...
...
..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 düzenlemeyi yaptı ve Filipe bunu onayladı (bundan sonra yorumları temizledim). Sadece etiket ekledim.
Martin Ender

Örneği bir PasteBin'e taşıyabilir miyiz? Şu andan itibaren kaydırmak anemiktir. Ayrıca, bu sadece giriş karesinin güç setidir, 1s ve 0s'nin değiştirildiği girişin satırlarına bölünür Xve.
Stan Strum

Yanıtlar:


16

K, 11 bayt

(3 3#)'!9#2

Çıktı örneği:

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

Bu, K'nın problemin belirtilmesi için yeterli olduğunu düşündüğüm bir matris listesinin doğal yazılı temsilidir. Her matris, ekteki parantez kümeleriyle sınırlandırılmıştır.

Ve 512 matrisin yapıldığını gösteren hızlı bir kontrol kontrolü:

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

Çok basit. İşlerin çoğu içinde !. İlk önce "take" ( 9#2) kullanarak 9 uzunluğunda bir vektör 2 üretiyoruz . Sonra, "kilometre sayacı" monadik biçimini kullanırız !- birkaç örnek davranışını gösterir:

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

Ardından , 9 uzunluklu 0/1 vektörlerin (3 3#)her birinin ( ') bir 3x3 reshape ( ) yapın .


34

Mathematica, 25 bayt

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

Tüm ızgaraları görüntü olarak gösteren ve aynı zamanda doğrudan ekranda görüntülenen bir dizi verir:

enter image description here

(Gönderiyi gereksiz yere havaya uçurmayacak şekilde kırpılmış.)


3
en güzel çıkış olduğu için olumlu eleştiriler
Filipe Teixeira

14

JavaScript, 77 80

OP revizyonundan sonra revize edildi. Şimdi bir sorumuz var, işte bir cevap.

Test etmek için snippet'i herhangi bir tarayıcıda çalıştırın.

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

Eski posta: Bir tarayıcıda, javascript ve tuval içeren grafik ekran. ~ 300 baytlık kod (daha kısa yapılabilir).

Aşağıdaki pasajı çalıştırın.

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>


Eğer belirtirseniz (ES6), o kadar değiştirebileceğiniz .join('\n')3 bayt kaydetmek için .join` `(literal yeni satır değil, uzay ... biçimlendirme aptal comment) ile
Patrick Roberts

@PatrickRoberts evet, şablon dizesi 14 ay önce Firefox'ta zaten uygulanmış, ancak bunun farkında değildim. Çok zaman geçtikten sonra kodu düzenleyin, biraz zorlayıcı olur
edc65

6

Matlab, 33

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

Boyutları düzeltmek için biraz kibar davrandım, ancak sonuçtan çok memnunum!


6

TOZ BABASI - 65

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

sonuç

000

000

000


000

000

001


000

000

010


000

000

011

Onayla

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

512

düzenlemek ilham kaynağında almanıza yardımcı oldu.

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

enter image description here


6

Python 2,49 bayt

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

İkili genişlemesini böl i. Uzunluk-10 ikili değerler 512 ila 1023, ilk 1 (ve ön ek 0b) kesilerek kullanılır . Bu pencereler gibi 3 parçalara bölünür [3:6], [6:9],[9:12] , ve [12:15], sonuncusu boş ile boş satır yapmak. Dört dilim üzerinde yineleme, divmod numarasıyla 512 sayı saymanın dış halkasıyla daraltılır.


4

CJam, 12 bayt

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

Burada test et.

Kullanımları 0 ve 1farklı karakterler olarak.

açıklama

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.

Alternatif (hala 12 byte) bir çözüm

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

4

Ruby, 86 bayt

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}

Mine tırnak işaretleri ile yazdırıyor, çünkü pdaha kısa puts, ancak yine de kurallara uyuyor.


4

Haskell, 57 54 bayt

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

f meydan okuma tanımındakiyle aynı çıktıyı verir, yani

...
...
...

...
...
..X

...
...
.X.

Düzenleme: @Mauris kaydetmek için 3 bayt bulundu. Teşekkürler!


Bence r x=sequence[x,x,x]aynı şeyi yapar ve daha kısadır.
Lynn,

@ Malauris: haklısın. Yayınımı düzenledi. Teşekkürler!
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"));

Her int'yi ikili gösterime dönüştürür ve her 3 karaktere ayırır.


2

Python 2, 95 Bayt

Farklı karakterler 0ve 1her blok tarafından ayrılır \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 bayt

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

Sayar 0s ve 1s ve her bir blok boş bir çizgi ile ayrılır ( \n\n)


2

Ruby, 68 bayt

Soruda verilen örnek ile aynı çıktıyı yazdırır

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

Gerek yok tr, çıktı 0ve 1iyi. Birkaç öneri daha 512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}50 bayt.
Seviye River St

2

Python 3, 80 bayt

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

Birisini aşmayı başardım :)


: While döngüsü kullanılmasının bir byte kaydet i=512satırwhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
FlipTack

2

PHP, 55 bayt

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

kullanır 0ve 1. İle koş -r.


Sadece ayrılan yeni
Titus


2

Python 2 , 56 bayt

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

Çevrimiçi deneyin!

512 yapılandırmalarını python'da set nesnesi olarak döndürür. Çıktıyı daha okunaklı hale getirmek için etiketsiz versiyona bakın.

Çıktıyı daha okunaklı hale getirmek için Ungolfed Version:

Python 2,121 bayt

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

Çevrimiçi deneyin!


1

C - 97 bayt

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

Temelde örnek çıktıyı orijinal sorudan yazdırır.


1

Swift 2, 92 bayt

Swift'deki ikili dizgenin tanıtılması çok fazla karakter alıyor, bu yüzden sadece iki iç içe döngü kullanıyorum ...

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 bayt

Çıktı, 0 ve 1 elemanlarını içeren 3x3 matrislerin bir listesidir.

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

Çevrimiçi tercüman

Matris üretimi daha kısa olabilir gibi hissediyorum.
Aralarına bir forall veya benzeri bir şeyle sığdırmak mümkün olmalı, ama nasıl olduğunu çözemiyorum.

Golf ipuçları takdir etti.


1

Perl, 56 55 bayt

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

Çıktı:

000
000
000

100
000
000
...

1

Python 3, 123 121 109 103 bayt

İşte eski olanım:

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

Ve işte benim yeni olanım:

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

Bu, fazladan karakter basar ancak OP, ASCII sanatına izin verildiğini ve bu sayede birden fazla karakterin iyi olduğunu belirtir.


1

Python 3, 74 bayt

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

Yok Edilebilir Lemon’un cevabından biraz daha kısa


0

Perl, 52 bayt

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

veya 54 bayt:

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

veya Perl 5.14+, 48 bayt:

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

0

Jöle , 17 bayt (yarışmaz)

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

Çevrimiçi deneyin!

Kullanır 01. Bir hata yüzünden kullanmak “¶¶yerine kullanmak zorunda kaldım ⁾¶¶, aksi halde iki yeni satır yerine iki pil çıktıda görünecekti. Gördüğünüz gibi olsa da, bu bana herhangi bir byte'a mal olmadı.

K bunu yenerse, bu daha fazla golf oynamak zorunda olmalı.





Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.