/// , 21 바이트
/// 에서 이것을 해결하는 정말 짧고 뒤틀린 방법이 있다고 확신 하지만 "직선"방법 외에는 아무것도 찾을 수 없습니다.
1/1\//112\///2\//1\//
이것은 연속 홀수를 인쇄하는 방식을 기반으로합니다. 스 니펫은 1
시작 부분에 인쇄 1
되는 스 니펫과 스 니펫의 각 연속 사본의 첫 번째 부분에 두 개를 더 추가하는 두 개의 교체로 구성 됩니다. 에 대해 살펴 보겠습니다 N = 3
. 다음은 3 줄 이상의 그룹으로 읽어야합니다. 1. 현재 코드, 2. 처리 된 토큰, 3. (그리고 뒤 따르는) 위의 토큰이하는 일.
1/1\//112\///2\//1\//1/1\//112\///2\//1\//1/1\//112\///2\//1\//
1
is printed
/1\//112\///2\//1\//1/1\//112\///2\//1\//1/1\//112\///2\//1\//
/1\//112\//
replaces all occurrences of 1/ with 112/. This affects the starts of all further snippets
but not the substitution commands, because the slashes in those are always escaped.
It is necessary to put a 2 in there, because otherwise the interpreter goes into an infinite
loop replacing the resulting 1/ again and again.
/2\//1\//112/1\//112\///2\//1\//112/1\//112\///2\//1\//
/2\//1\//
Replace all occurrences of 2/ with 1/, so the the next snippets substitution works again.
111/1\//112\///2\//1\//111/1\//112\///2\//1\//
111
is printed
/1\//112\///2\//1\//111/1\//112\///2\//1\//
/1\//112\//
add two 1s again
/2\//1\//11112/1\//112\///2\//1\//
/2\//1\//
turn the 2 into a 1 again
11111/1\//112\///2\//1\//
11111
print 11111
/1\//112\///2\//1\//
the last two substitutions have nothing to substitute so they do nothing
흥미롭게도, 1
끝까지 이동하면 잘 작동합니다 .
/1\//112\///2\//1\//1