CJam, 45 41 38 35 바이트
{`"OX$_?"+_l&{{H)+`}/"\He,}":)}&}_~
입력 문자가 문자가 아닌 "$&)+,/:?HOX\_`el{}
경우이 프로그램은 약간 수정 된 다음 버전 자체를 인쇄합니다. 온라인으로 사용해보십시오!
{`"OX$_?"+_l&{{H)+`}/"\He,}":)}&}OX$_?
그렇지 않으면 프로그램은 다음과 같이 난독 화 된 수정 버전을 인쇄합니다. 온라인으로 사용해보십시오!
''r'4'a'j'6'q'Q'4'='q'~'8'''Z';'='r''A'4'n'Z'w'>''4'L';''8''a'j'6'q'Q]If-~
일부 문자는 인쇄 할 수 없습니다. 온라인으로 사용해보십시오!
작동 원리
{`"OX$_?"+_l&{{H)+`}/"\He,}":)}&}_~
{ } Define a code block.
_~ Push a copy and execute the copy.
` Push a string representation of the block.
"OX$_?" Push that string.
+_ Concatenate and push a copy.
l& Intersect the copy with the input.
{ }& If the intersection is non-empty:
{ }/ For each character of the concat. strings:
H) Push 18.
+ Add it to the character.
` Inspect; turn 'c into "'c".
"He,}" Push that string.
:) Increment each char. Pushes "If-~"
첫 번째 가능한 출력 프로그램에서는 ~
다른 프로그램에서 사용할 수있는 사용 을 피 합니다. 따라서 _~
수정 된 프로그램은 대신에 OX$_?
다음과 같이 작동하는로 끝납니다 .
O Push "" (falsy).
X$ Push a copy of the code block.
_ Push yet another copy.
? Ternary if; since "" is falsy, execute the second copy.
마지막으로 나머지 출력 프로그램에서
''r'4'a'j'6'q'Q'4'='q'~'8'''Z';'='r''A'4'n'Z'w'>''4'L';''8''a'j'6'q'Q]
모든 문자를 배열로 감싸서 다음 문자열을 푸시합니다.
"'4aj6qQ4=q~8'Z;=r'104nZw>'4L;'8'j6qQ"
If-
각 문자 코드에서 18을 빼서 문자열을 밀어냅니다.
"{`\"OX$_?\"+_l&{{H)+`}/\"\He,}\":)}&}OX$_?"
이는 ~
평가합니다.
e
.