>>>>>>-[[->>>+<<<]------>>>-]<<<[<<<]+[+[>>>]<<<->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-[<<<].>>>-]
정확히 인쇄
298333629248008269731638612618517353495058861384016275770860733328251135402804732197446995616017112134460464130233444058136509123809012106419446593183683387659250431692751255099808162970657410517657862174602556590616568690423540284801267472920128909691902547970614008613488242333460665145840144517097342073878746293059960326132795671583153307437896728515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
250255
크레딧은 이 Brainfuck 답변에서 @hvd 로 갑니다 . 따라서 그를 찬성 해야합니다!
설명:
나는 내 자신의 설명을 작성하려고했지만 @ hvd 의 설명이 이미 적절 하다는 것을 깨달았 습니다. 대신 여기에 인용하겠습니다.
>>>>>>
약간의 작업 공간을 남겨 두어야합니다.
-
255를 생성합니다 ( 셀을 감쌀 때 0-1 = 255부터 ).
[[->>>+<<<]------>>>-]
이것을 250의 255 복사본으로 바꾸어 다음과 같은 테이프를 만듭니다.
0 0 0 0 0 0 250 0 0 250 0 0 ... 250 0 0 [0]
<<<[<<<]+
데이터 포인터를 뒤로 이동하고 초기 데이터를 마무리합니다.
0 0 0 [1] 0 0 250 0 0 250 0 0 ...
그런 다음 루프가 온다. [+...-]
처음에는 1을 2로 설정하고 루프의 끝에서 1로 다시 설정된다. 루프 본문이 이미 2로 1로 설정되면 루프가 종료됩니다.
이제 숫자 2250250250 ... 250은 기준 250의 카운터를 나타내며 각 숫자는 숫자보다 하나 더 큽니다.
[>>>]<<<
오른쪽으로 끝까지 이동합니다. 각 숫자는 0이 아닌 숫자로 표시되므로 사소합니다.
->+[<[+>-]>[-<<<<->+>>------>>]<<<<]>>-
마지막 숫자부터 시작하여 숫자가 감소합니다. 그것이 긍정적이라면, 우리는 끝난 것입니다. 0으로 바뀌면 250으로 설정하고 이전 숫자를 계속하십시오.
[<<<].>>>
포인터를 맨 왼쪽 자리 뒤로 이동하면 NUL 바이트를 인쇄 할 수 있습니다. 그런 다음 정확히 가장 왼쪽 자리로 재배치하여 완료되었는지 확인하십시오.
초기 변경 정확성을 검증 -
하기 +
위해 250 출력 1 , NUL 바이트들 ++
에 대해 250 (2) 등
+[.]
내가 이길까? : P