간단합니다. 캐릭터를 제거해도 여전히 퀴인 적절한 퀴네를 만드십시오 .
이것과 방사선 경화 퀴네의 차이점은 프로그램이 AB
방사선 경화 퀴네 A
에서는 출력 AB
되지만 여기서는 출력 된다는 A
것 A
입니다.
코드 골프, 모든 표준 규칙, 표준 허점이 적용되며 부정 행위가 없습니다.
AB
출력해야합니다 AB
.
간단합니다. 캐릭터를 제거해도 여전히 퀴인 적절한 퀴네를 만드십시오 .
이것과 방사선 경화 퀴네의 차이점은 프로그램이 AB
방사선 경화 퀴네 A
에서는 출력 AB
되지만 여기서는 출력 된다는 A
것 A
입니다.
코드 골프, 모든 표준 규칙, 표준 허점이 적용되며 부정 행위가 없습니다.
AB
출력해야합니다 AB
.
답변:
이 답변은> <>의 점프 명령을 사용하여 문제를 해결합니다.
!<0078*+00~..>0[!."r43a*+8a+&{ee+00&1-:&(?.~~ol?!;4b*0.0f<>0['r3d*159*+&}7a*00&1-:&(?.~~ol?!;68a*+0.0+*a58
이 quine에는 실제로 두 개의 다른 quine generator가 있습니다. 몇 가지 점프 로직으로 시작하며 기본적으로 왼쪽 퀴인을 사용합니다. 점프 로직 또는 왼쪽 퀴네에서 문자가 제거되면 프로그램이 오른쪽 퀴네로 점프합니다.
코드는 몇 부분으로 나눌 수 있습니다.
A: !<0078*+00~..>0[!.
B: >0[!."r43a*+8a+&{ee+00&1-:&(?.~~ol?!;4b*0.
C: .0f<
D: >0['r3d*159*+&}7a*00&1-:&(?.~~ol?!;68a*+0.
E: .0+*a58
다른 부분에 대한 설명 :
명령 포인터가 quine 중 하나에 도달하면 해당 quine이 완전히 손상되지 않은 것입니다.
>0[!. //Fix the instruction pointer's direction and empty the stack (The '!.' is a leftover from codepart A)
"r43a*+ //Start reading all of the code and add the '"' character to the stack
8a+& //Because the quine started reading at the 19th character instead of the first, the stack has to move 18 characters.
//This part saves the number 18 to the register.
{ee+00&1-:&(?. //Move the stack one to the left, decrease the stack by 1. If the stack is not empty yet, jump back to the start of this section.
~~ //Clean the temporary variables from the stack. It should now contain the whole quine.
ol?!;4b*0. //Print the first character from the stack. As long as the stack isn't empty, jump back to the start of this section.
이 널 문자 수는 다음과 같습니다.
453997365974271498471447945720930600149036031871190716908688344432973027776681259141680552038829875159204621651993092104775733418288411812715164994750890484868305218411129600012389568016974351721147925344946382782884546247102886167837964612372737300786173159265347137401863281368021545169383664534228503236761742285358985343373496184959796553930661837467682191561275123057706776367104142995491262443697167483190110516522677811931124842961701222425076750211774387637740969301686178545299089832300154448308384461700726890067468872402133010536518468336342175124002115991866466700174974019423711837589532744970385003356612639263433822126850314801275940879069069974437167102618471264140597777702065896715558989678487253830854848740247786166790545462769498303055791292
이 도전에 대한 기준이 어떻게 "적절한 키네"의 정의와 충돌 하는지를 보면, 나는 단항 변형이 이길 것이라고 생각합니다.
확장 된 Brainfuck 코드 :
>>+++>++++++++>+++>+++>+>+>+>+>+>+>+>+++>+>+>+>+>+>+>+>+>+++>+>+>+>+>+>+>+>+>++++++++>++++>++++++++>++++>+++++++>++>+++>+>+++>++>+++>+++>+>+>+>+>+>+>+>+>++++>++++>+++++++>+>++++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>+++++>++++++++>++++>+++++++>+++++++>+>+>+++>+>+>+>++++++++>+++>+++++++>+>+++>+>+++>+>+++>+>++++++++>++++>++++++++>++++>++++++++>++++>++++>+>+++>+++>++>+++++++>+++++++>+>+>+>++++++++>+++>+>++++++++>++++>+>+++>++>+++++++>++>+++++++>++++>++++>++++++++>+++>++++++++>+++>+++>+>++++>++++>++>+++++++>+++>+++>++++++++>++++>+>+++>++>+++++++>++++>++++>+++++++>+++>+++>+++>+++>++++++++>++++>++++>+>+++>+>+++>++>+++++++>+++++++
[
[->+>+<<]
>>>>[<<[->+<]>>[-<<+>>]>]
<<[-[->+<]+>]+++
[[->>+<<]<]<
]
+>+>+>+
[>]+++>++
[
[<].
>[-]>[-]>[-]>[-]
<+[<<++++++++>>->+>-[<]<]
++++++++>++++++++>+++++++>>
]
.
Lenguage 프로그램에서 하나의 문자가 제거되면 마지막 문자가로 바뀌어 프로그램이 <
정확히 하나의 문자를 더 적게 인쇄합니다.