使用2016年时间胶囊字符串中的74个字符
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
用相同的语言编写N个代码段,其中:
- 第一个代码段输出
1
。 - 第二段代码输出
2
。 - 第三段输出
3
。 - ...等等...
- 第N个代码段输出
N
(数字,而不是字母)。
“代码段”定义为以下任何一种:
(您可以在N个片段中混合并匹配这三个变体。)
您可以在N个摘要的组合集中使用的字符正好是时间封包的74个字符,以及 floor(N/2)
可以在任何地方使用的额外“通配符”字节。
例如,时间胶囊包含3 @
,因此在您的N个摘要中,最多只能存在3个@
,除非您决定将一些floor(N/2)
通配符字节用于附加@
的。
因此,不计算通配符,您的N个摘要中的组合字符集必须是74个时间胶囊字符的子集。它们的总长度不能超过74。 您不能在片段之间重复使用时间胶囊字符或通配符字节。
笔记
代码段长度或每个代码段可以使用多少个通配符没有其他限制。
您必须写出所有从1到N的代码段。从0到N-1,不是k到N + k-1。
这些代码段必须是单独的,而不是一个输出列表的代码段
1, 2, 3, ..., N
。输出可能是浮点数
3.0
,3
而不是;如果十进制是您语言的自然底数,则可以使用十进制以外的底数。您必须对所有摘要使用相同的基础。通配符在您的语言的编码中计为字节。这可能是ASCII,但例如,如果
∞
在编码中算作一个字节,则可以将其用作单个通配符字节。您可以将通配符字节用于多字节字符。例如
∞
,通常为 3个字节,因此您可以在代码段中使用它,但它将花费您的floor(N/2)
通配符字节中的3 个。诸如之类的换行符
\r\n
可以视为一个字节。
例
在Python中,仅使用REPL就可以实现N = 4。有floor(4/2) = 2
通配符。
1
从时间胶囊到的表达式1
。2
由一个通配符(即)组成2
。到的时间2
。3
还包含一个通配符。到的时间3
。没有更多的通配符。4
幸运的是在时间囊中,它到了4
。
这些片段简短而琐碎。真正的答案可能要复杂得多。
(在Python中可能有5个或更多的可能,但我将留给专业人士使用。)
计分
N获胜的答案;即,攀登整数梯最高的那一个。
如果出现平局,则使用最少通配符字节的答案将获胜。
如果仍然有平局,则使用最少累积字符的答案将获胜。
如果仍然平局,则以较早的答案为准。
07
一样的7
吗?
-
也不n
...
4
在没有REPL的较旧版本的Perl中,是否返回4的有效片段?)