任务
在这个挑战中,您的任务是编写三个程序,这些程序形成一种相互类似quine的系统。让我们把这些程序A
,B
和C
。如果其中一个程序被提供了另一个程序的源作为输入,则它应输出第三个程序的源。例如,如果A
给出B
作为输入,则输出C
。如果给程序提供了它们自己的源作为输入,则它们应输出三个字符串"three"
,"mutual"
和"quines"
(不带引号)。在所有情况下,它们都可能输出一个附加的尾随换行符。对于任何其他输入,程序可能会执行任何操作,包括崩溃。
例
例如,假设的源代码A
,B
和C
是aSdf
,ghJk
和zxcV
。然后,程序应表现如下。
Source Input Output
--------------------
aSdf aSdf three
aSdf ghJk zxcV
aSdf zxcV ghJk
ghJk aSdf zxcV
ghJk ghJk mutual
ghJk zxcV aSdf
zxcV aSdf ghJk
zxcV ghJk aSdf
zxcV zxcV quines
规则和计分
该解决方案A
,B
并且C
可以是功能或完整的程序,但他们必须是完全独立的:没有共享的代码是允许的。
由于存在标准漏洞和quine规则,因此程序无法以任何方式访问其自身的源代码。
你的分数是结合字节数A
,B
以及C
较低的分数更好。
@PaŭloEbermann这意味着后者:3个程序中的每一个都应独立运行。
—
Zgarb 2015年
public static void main
某个地方都有一部分。)或者仅仅是您不能编写一个被这三个函数调用的函数?