# 防辐射软喹

38

Loovjo '16

4
@Loovjo
Martin Ender

3
@feersum挑战指出“在...上放奎纳”，因此`AB`应输出`AB`
Mego

1
@Mego我知道它是这么说的，但是规范并不总是那么精确，并且在示例中也没有指出。
feersum '16

4
@feersum“做一个奎纳”意为做一个奎纳。“这与防辐射的奎尼之间的区别……”意味着唯一的区别是，删除了一个字节的程序会生成奎因，而不是打印原始程序源的程序。这里没有歧义。
Mego

22

# > <>（Fish），145107字节

``````!<0078*+00~..>0[!."r43a*+8a+&{ee+00&1-:&(?.~~ol?!;4b*0.0f<>0['r3d*159*+&}7a*00&1-:&(?.~~ol?!;68a*+0.0+*a58
``````

# 说明

``````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
``````

• A：跳到C的右边。如果从A删除了任何字符，则跳到D的左边或E的右边，触发第二个奎因。如果从B或C中删除了任何字符，则代码向左移1个字符，从而使该代码跳到D的左侧。
• C：此代码跳到B的左侧。
• B：Quine＃1
• D：Quine＃2
• E：跳至D的左侧

# 奎纳的解释（以＃1为例）：

``````>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.
``````

CalculatorFeline

CalculatorFeline

1

Thijs ter Haar

36

# 语言，4.54×10 761字节

453997365974271498471447945720930600149036031871190716908688344432973027776681259141680552038829875159204621651993092104775733418288411812715164994750890484868305218411129600012389568016974351721147925344946382782884546247102886167837964612372737300786173159265347137401863281368021545169383664534228503236761742285358985343373496184959796553930661837467682191561275123057706776367104142995491262443697167483190110516522677811931124842961701222425076750211774387637740969301686178545299089832300154448308384461700726890067468872402133010536518468336342175124002115991866466700174974019423711837589532744970385003356612639263433822126850314801275940879069069974437167102618471264140597777702065896715558989678487253830854848740247786166790545462769498303055791292

``````>>+++>++++++++>+++>+++>+>+>+>+>+>+>+>+++>+>+>+>+>+>+>+>+>+++>+>+>+>+>+>+>+>+>++++++++>++++>++++++++>++++>+++++++>++>+++>+>+++>++>+++>+++>+>+>+>+>+>+>+>+>++++>++++>+++++++>+>++++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>++++++++>++>+++++++>+++>+++++>++++++++>++++>+++++++>+++++++>+>+>+++>+>+>+>++++++++>+++>+++++++>+>+++>+>+++>+>+++>+>++++++++>++++>++++++++>++++>++++++++>++++>++++>+>+++>+++>++>+++++++>+++++++>+>+>+>++++++++>+++>+>++++++++>++++>+>+++>++>+++++++>++>+++++++>++++>++++>++++++++>+++>++++++++>+++>+++>+>++++>++++>++>+++++++>+++>+++>++++++++>++++>+>+++>++>+++++++>++++>++++>+++++++>+++>+++>+++>+++>++++++++>++++>++++>+>+++>+>+++>++>+++++++>+++++++
[
[->+>+<<]
>>>>[<<[->+<]>>[-<<+>>]>]
<<[-[->+<]+>]+++
[[->>+<<]<]<
]
+>+>+>+
[>]+++>++
[
[<].
>[-]>[-]>[-]>[-]
<+[<<++++++++>>->+>-[<]<]
++++++++>++++++++>+++++++>>
]
.
``````

1

Martin Ender

1
@MartinBüttner第一个大循环以“> +++ ...”的形式复制并编码数据（并反转）。另一个大循环将数据打印为一元整数。它不是那么复杂，但是很长，只是因为它是Brainfuck。
jimmy23013 '16

Martin Ender

@MartinBüttner有点。但是程序的一半是“解码功能”。
jimmy23013 '16

Martin Ender