|>I|
온라인으로 사용해보십시오!
반대로 해보십시오!
null 바이트를 포함하지 않는 모든 입력에 적용됩니다.
설명
와우, 나는 이것을 손으로 쓰는 지점에 도달했습니다 ...
전체 프로그램은 |>I|I<|
입니다.
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
> Move one stack over to the right (which only contains zeros).
I Does nothing on zero.
| Does nothing on zero.
I Does nothing on zero.
< Move back to the initial stack.
| Reverse the input once more.
이전 과제에 대한 솔루션에서와 같이 center 명령 |
은 아무것도하지 않기 때문에 전체 프로그램도 마찬가지입니다.
반전 된 프로그램은 다음과 같습니다 |I>|<I|
.
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I Move the -1 one stack to the left and turn it into a +1.
> Move back to the initial stack.
| Reverse it again, but this time without the EOF marker.
< Move back to the left.
I Move the +1 back onto the initial stack and turn it into a -1 again.
| Reverse the entire stack. We now have the -1 as an EOF marker again at the bottom
and the rest of the stack has been reversed three times, i.e. one net reversal.
흥미롭게도, 이번에 -m
는 여전히 역전 프로그램을 사용하지 않고이 리버스 프로그램을 사용한다면 -m
코드를 미러링하여 얻은 바이트 만 생략하면 됩니다.
|I<|>I|
온라인으로 사용해보십시오!
반대로 해보십시오!
설명
이 프로그램의 역 버전은 |I>|<I|
위와 동일하므로 무시할 수 있습니다. 그러나 반전되지 않은 버전은 다릅니다. <>
이제 다른 방법으로 가리 키기 때문에 center 명령은 아무것도하지 않으므로 프로그램은 고양이가됩니다.
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I Move the -1 one stack to the left and turn it into a +1.
< Move another stack to the left, which contains only zeros.
| Does nothing on zero.
따라서 >I|
프로그램의 전반부를 정확히 취소합니다.