所述可打印的ASCII字符,以便(十六进制代码20至7E)为:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
(请注意其中有空间。)
从左到右读取时,此字符串显然包含所有可打印的ASCII字符至少一次,以升序排列,但不以降序排列。
字符串
REVERSED:~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! NORMAL: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
包含所有可打印的ASCII字符,至少按升序和降序一次。换句话说,当用数字代码对字符进行赋值时,最长的递增和最长的递减子序列的长度为95(可打印ASCII字符的数量)。
挑战
选择N个可打印ASCII字符的连续子集,例如LMNOP
(N = 5)。像上面的示例一样,仅使用输出结果包含全部95个ASCII字符(按升序和降序)的N个字符编写程序。
获胜者是N最低的提交。如果是平局,则以字节为单位的最短代码获胜。
笔记
- 连续的子集表示一组全部以不间断的行出现的可打印ASCII,例如
LMNOP
或89:;<=>
。 - 您的连续子集可能从
~
太空“循环” ,但这对N造成+3惩罚。因此{|}~
N = 4,但{|}~ !
N = 6 + 3 = 9。 - 您的程序可能只包含您选择的连续子集中的N个可打印ASCII字符。它们不必全部出现,并且可以任何顺序多次出现。(不允许所有不可打印的ASCII和所有非ASCII。这意味着不允许使用制表符和换行符。)
- 您的输出只能包含可打印的ASCII字符,并且必须少于10000个字符。
- 输出的最长的递增和递减子序列都必须具有长度95(如上所述)。
- 输出到标准输出。没有输入。
- N是小于96的正整数。