빈 부분에 동일한 크기의 공간 블록을 사용하여 Sierpinski 카펫에 배열 할 때 카펫 의 반복 수를 출력하는 프로그램을 생성 하는 직사각형 텍스트 블록을 작성하십시오.
예를 들어 텍스트 블록이
TXT
BLK
그런 다음 프로그램을 실행
TXTTXTTXT
BLKBLKBLK
TXT TXT
BLK BLK
TXTTXTTXT
BLKBLKBLK
1
프로그램의 모양이 Sierpinski 카펫의 첫 번째 반복을 나타내므로 출력해야합니다 .
마찬가지로, 달리기
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXT TXTTXT TXTTXT TXT
BLK BLKBLK BLKBLK BLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXTTXTTXT TXTTXTTXT
BLKBLKBLK BLKBLKBLK
TXT TXT TXT TXT
BLK BLK BLK BLK
TXTTXTTXT TXTTXTTXT
BLKBLKBLK BLKBLKBLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
TXT TXTTXT TXTTXT TXT
BLK BLKBLK BLKBLK BLK
TXTTXTTXTTXTTXTTXTTXTTXTTXT
BLKBLKBLKBLKBLKBLKBLKBLKBLK
이것은 두 번째 Sierpinski 카펫 반복의 모양이므로 2를 출력해야합니다.
텍스트 블록을 그대로 실행
TXT
BLK
0
0 번째 반복으로 간주 될 수 있으므로 출력해야합니다 .
이것은 모든 추가 반복에서 작동합니다. (적어도 이론적으로는 컴퓨터에 메모리와 모든 메모리가 있다고 가정합니다.)
세부
- 프로그램은 소스 코드에 대한 정보를 읽거나 액세스 할 수 없습니다. 이것을 엄격한 퀴네 도전처럼 취급하십시오.
- 출력은 stdout 또는 유사한 대안으로갑니다. 숫자와 선택적 후행 줄 바꿈 만 출력하십시오. 입력이 없습니다.
- 텍스트 블록에는 줄 종결 자로 간주되지 않는 문자가 포함될 수 있습니다 . 텍스트 블록은 공백을 포함 할 수 있습니다.
- 카펫의 "빈 공간"은 전체적으로 공백 문자 로 구성되어야합니다 .
- 선택적으로 모든 프로그램에 후행 줄 바꿈이 있다고 가정 할 수 있습니다.
이 스택 스 니펫을 사용하여 모든 반복에서 지정된 텍스트 블록에 대한 카펫을 생성 할 수 있습니다.
<style>#o,#i{font-family:monospace;}</style><script>function c(e){e=e.split("\n");for(var n=new Array(3*e.length),t=0;t<n.length;t++){var l=t%e.length;n[t]=e[l]+(t>=e.length&&t<2*e.length?e[l].replace(/./g," "):e[l])+e[l]}return n.join("\n")}function f(){for(i=document.getElementById("i").value,n=parseInt(document.getElementById("n").value);n>0;)i=c(i),n--;document.getElementById("o").value=i}</script><textarea id='i'placeholder='code block...'rows='8'cols='32'></textarea><br>Iterations <input id='n'type='text' value='1'><br><br><button type='button'onclick='f()'>Generate</button><br><br><textarea id='o'placeholder='output...'rows='8'cols='32'style='background-color:#eee'readonly></textarea>
채점
면적 (너비 x 높이)별로 초기 텍스트 블록이 가장 작은 제출이 승자입니다. TXT\nBLK
예 6의 점수 2 3 (기본적으로 짧은 코드 승 따라서 코드 골프 태그).
Tiebreaker는 텍스트 블록에서 가장 적은 고유 문자를 사용하는 제출로 이동합니다. 여전히 묶여 있다면, 답변은 첫 승리를 게시했습니다.