我们都知道什么是藜。一个倒置喹是一个非空的程序,打印它的源代码不读它的源代码的倒数,和仅由可打印ASCII字符(空格通过~
)。
此处,“源代码的逆序”表示以下含义:程序的输出必须包含每个可打印的ASCII字符(m-c)次,其中c是该字符在代码中出现的次数,m是最大值在代码中重复任何字符的次数。
(换句话说:您的代码 + 您的输出 = 所有可打印ASCII 的m乘以排列。)
例如,如果您的程序是12345
,则m = 1,则应输出此字符串的任何排列:
!"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
如果您的程序是AAB
,则m = 2,那么您应该输出以下任何排列:
!!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
请注意,有两个缺失A
s和一个失踪B
。
尽管一个包含所有可打印ASCII字符但不输出任何内容的程序是有效的反quine(满足m = 1),但是考虑到它的长度,这样的答案并不是很具有竞争力。
如上段所述,您将要编写一个反向的程序。因为这是代码高尔夫,所以以字节为单位的最短程序将获胜。祝好运!
duplicated for every repeated character in the source code
这将使挑战中的一切变得不同
11234512345
?
duplicated for every repeated character in the source code
该标准意味着什么或该提交是否有效,因为OP尚未解决这里的几个问题。