3
Codegolf:Quine和Antiquine
该挑战类似于您可以进行Meta Quine吗? quine是在STDOUT上产生自身的程序。挑战在于产生程序A,该程序在运行时会在STDOUT上产生程序B。运行时,程序B在STDOUT上生成程序A。程序A和B必须以相同的语言编写(并运行)。链接的问题约束A!=B。这看起来太简单了。因此,对于这个问题,我们坚持使用以下规则,将A和B定义为对数: 程序A和B不得使用任何相同的字符,但空格和语句分隔符以及标点符号除外。 程序A和B必须分别包含至少一个既不是空格也不是语句分隔符,也不是标点符号的字符。 出于规则1和2的目的,术语“空白”不包括任何符号或符号序列,它们本身就是被解释的语句,运算符或符号(与分隔符相对)。因此,在空白语言中,没有空白。 语句分隔符是该语言中通常用于分隔语句的语法元素。这将包括python中的换行符,或Java,perl或C中的分号。 标点符号是ASCII字符,它既不是空格也不是POSIX单词字符类(即,下划线不是用于此目的的标点符号),即ispunct()返回true,而不是_。 程序A在运行时必须在其STDOUT上生成程序(程序B),而程序在运行时又会生成程序A。 程序A和B必须使用相同的编程语言。 使用的编程语言实际上必须是一种编程语言。除非您没有其他理由,否则我建议它必须是图灵完整的。 A和B中的至少一个必须在该语言中执行至少一个语句。 这是代码高尔夫,所以最短的答案会获胜,得分是程序A的长度(以字节为单位)(即程序B的长度无关紧要)。