3x3 격자의 모든 채색 인쇄


21

3x3 그리드가 있습니다. 각 셀은 검은 색 또는 흰색으로 채색 될 수 있습니다. 이 512 개의 모든 채색을 표시하십시오. 가장 적은 바이트가 이깁니다.

그리드가 시각적으로 분리되고 간격이 규칙적으로 보이는 한 어떤 형태로든 그리드를 표시 할 수 있습니다. ASCII 아트 나 이미지를 사용할 수 있습니다. 두 개의 뚜렷한 가시적 기호 또는 색상을 흑백으로 사용할 수 있습니다. 결과가 시각적으로 정확하다면 모든 공백은 괜찮습니다.

출력 예 :

...
...
...

...
...
..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는 편집을했고 Filipe은 그것을 승인했습니다 (그 후 주석을 제거했습니다). 방금 태그를 추가했습니다.
Martin Ender 2016 년

예제를 PasteBin으로 옮길 수 있습니까? 지금 당장 스크롤하는 것은 빈혈입니다. 또한,이 제곱 입력 단지 멱 집합이며, 상기 입력 라인으로 나누어 여기서 1S 및 0S에 의해 대체 X.
스탠 스트 럼

답변:


16

K, 11 바이트

(3 3#)'!9#2

출력 예 :

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

이것은 행렬 목록의 K 고유의 잘 표현 된 표현으로, 문제 사양에 충분하다고 생각합니다. 각 행렬은 괄호로 묶여 있습니다.

그리고 512 개의 행렬이 구성되어 있음을 입증하기위한 빠른 온 전성 검사 :

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

매우 간단합니다. 작업의 대부분은에 있습니다 !. 먼저 "take"( 9#2)를 사용하여 2의 9- 길이 벡터를 생성합니다 . 그런 다음 "odometer"모나 딕 형태를 사용 !합니다. 몇 가지 예는 그 동작을 보여줍니다.

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

그런 다음 9- 길이 0/1 벡터 (3 3#)의 각 ( ')에 대해 3x3 형태 변경 ( )을 수행하십시오.


34

Mathematica, 25 바이트

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

모든 그리드를 이미지로 배열로 화면에 직접 표시합니다.

여기에 이미지 설명을 입력하십시오

(불필요하게 포스트를 날리지 않도록 자릅니다.)


3
예쁜 출력 것에 대해 upvoted
필리페 테이 세이라

14

자바 스크립트, 77 80

OP 수정 후 수정되었습니다. 이제 질문이 있습니다. 여기에 답이 있습니다.

브라우저에서 스 니펫을 실행하여 테스트하십시오.

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

이전 게시물 : 자바 스크립트와 캔버스가있는 브라우저의 그래픽 표시. ~ 300 바이트의 코드 (짧게 만들 수 있음)

아래의 스 니펫을 실행하십시오.

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>


을 지정 (ES6)하면 .join('\n').join``(공백이 아닌 리터럴 줄 바꿈 ... 어리석은 주석 형식)로 대체 하여 3 바이트를 절약 할 수 있습니다.
Patrick Roberts

@PatrickRoberts 예, 템플릿 문자열은 이미 14 개월 전에 Firefox에서 구현되었지만 그 사실을 알지 못했습니다. 편집 너무 많은 시간 이후의 코드는 조금 necrobumping입니다
edc65

6

MATLAB, 33

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

치수를 정확하게 얻기 위해 약간 어리 석 았지만 결과에 매우 만족합니다!


6

파워 쉘-65

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

결과

000

000

000


000

000

001


000

000

010


000

000

011

확인

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

512

mathematica answer의 결과 표시에서 영감을 얻은 편집 -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")

여기에 이미지 설명을 입력하십시오


6

파이썬 2, 49 바이트

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

의 이진 확장을 나눕니다 i. 길이 10 이진 값 512-1023이 사용되어 초기 1 (및 접두어 0b)을 차단합니다 . 창은 이러한 3의 청크로 분할 [3:6], [6:9], [9:12], 그리고 [12:15], 마지막의 빈과 빈 줄을 만들 수 있습니다. 4 개의 슬라이스에 대한 반복은 divmod 트릭으로 512 개의 숫자를 세는 외부 루프로 축소됩니다.


4

CJam, 12 바이트

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

여기에서 테스트하십시오.

사용 01별개의 문자로.

설명

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.

대안 (여전히 12 바이트) 솔루션은

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

4

루비, 86 바이트

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}

p은보다 짧기 때문에 따옴표로 인쇄 puts하지만 여전히 규칙에 맞습니다.


4

하스켈, 57 54 바이트

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

f 챌린지 설명에서와 동일한 출력을 제공합니다.

...
...
...

...
...
..X

...
...
.X.

편집 : @Mauris는 저장할 3 바이트를 찾았습니다. 감사!


나는 r x=sequence[x,x,x]똑같은 일을하고 더 짧다고 생각 합니다.
Lynn

@Mauris : 맞습니다. 내 게시물을 수정했습니다. 감사!
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"));

모든 int를 이진 표현으로 변환하고 3 자마다 분할합니다.


2

파이썬 2, 95 바이트

고유 문자는 01이며 각 블록은로 구분됩니다 \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

파이썬 2, 81

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

2

루비, 92 바이트

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

0s 및 1s로 계산되며 각 블록은 빈 줄 ( \n\n)로 구분됩니다.


2

루비, 68 바이트

질문에 주어진 예제와 정확히 동일한 결과를 인쇄합니다

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

에 대한 필요는 tr, 출력되지 01괜찮습니다. 몇 가지 더 제안 512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}50 바이트.
Level River St

2

파이썬 3, 80 바이트

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

나는 누군가를 outgolf 할 수 있었다 :)


while 루프를 사용하여 바이트 저장 : i=512newlinewhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
FlipTack

2

PHP, 55 바이트

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

0및을 사용합니다 1. 로 실행하십시오 -r.


난 그냥 분리 줄 바꿈을 수행하는 방식을 좋아합니다 :)
Titus


2

파이썬 2 , 56 바이트

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

온라인으로 사용해보십시오!

파이썬에서 512 구성을 집합 객체로 반환합니다. 출력을 더 읽기 쉽게 만들려면 ungolfed 버전을 참조하십시오.

출력을 더 읽기 쉽게 만드는 Ungolfed Version :

파이썬 2 , 121 바이트

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

온라인으로 사용해보십시오!


1

C-97 바이트

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

기본적으로 원래 질문의 예제 출력을 인쇄합니다.


1

스위프트 2, 92 바이트

Swift의 이진 문자열에 대한 Int는 너무 많은 문자를 사용하므로 두 개의 중첩 루프를 사용합니다.

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

1

프롤로그 (SWI), 98 바이트

출력은 요소 0과 1을 포함하는 3x3 행렬의 목록입니다.

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

온라인 통역사

매트릭스 생성이 더 짧을 수 있다고 생각합니다.
forall 또는 이와 유사한 것에 사이를 맞추는 것이 가능해야하지만 어떻게 알아낼 수는 없습니다.

골프 팁 감사합니다.


1

펄, 56 55 바이트

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

산출:

000
000
000

100
000
000
...

1

파이썬 3 123 121 109 103 바이트

여기 내 오래된 것이 있습니다.

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

그리고 여기 내 새로운 것이 있습니다 :

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

이것은 여분의 문자를 인쇄하지만 OP는 ASCII 문자가 허용되어 여러 문자가 괜찮음을 암시합니다.


1

파이썬 3, 74 바이트

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

Destructible Lemon의 답변보다 조금 짧습니다.


0

펄, 52 바이트

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

또는 54 바이트 :

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

또는 Perl 5.14+, 48 바이트 :

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

0

젤리 , 17 바이트 (비경쟁)

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

온라인으로 사용해보십시오!

사용합니다 01. 때문에 버그 , 내가 사용했다 “¶¶대신⁾¶¶ 인해, 대신 . 당신이 볼 수 있듯이, 그것은 전혀 바이트 비용이 들지 않았습니다.

K가 이겼 기 때문에 더 골프를 쳐야합니다.





당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.