30
不使用它就打印每个可打印的ASCII字符
用您选择的编程语言编写95个程序,每个程序输出95个可打印ASCII字符中的 一个,而该字符不会出现在程序中的任何位置。 例如,如果您的语言是Python,则输出字符的程序P可能是 print(chr(80)) 因为它P具有ASCII代码80。此程序有效,因为它P从未出现在源代码中。但是,对于输出小写字母的程序,p类似 print(chr(112)) 将是无效的,因为虽然它确实打印了p,但p仍存在于代码中。一个有效的程序可能是 exec(chr(112)+'rint(chr(112))') 可以打印p但不包含p。 您的目标是使95个程序中的每一个都尽可能短。您的分数是所有程序的字符长度之和。 如果由于某种原因您无法为某些字符编写有效的程序,则可以将这些字符标记为“ Did Not Program”或DNP,并完全省略它们的程序。这样,语法严格的语言就可以竞争。 获奖的答案是,有得分最低的答案中的一组拥有最少的DNP的答案。 规则 您所有程序的源代码只能包含可打印的ASCII加上制表符和换行符,所有这些都被视为一个字符。(由于采用了不同的编码,因此很容易省略不存在的字符!) 注意:此规则似乎是必需的,但是有许多语言使用不同的编码,我敢肯定看到它们的答案会很酷。因此,您可以打破这条规则,可以使用任何想要的字符,但是您的答案将变得不具有竞争力,因此无法取胜。 根据您语言的标准约定,程序必须是实际的完整程序。不允许使用功能和REPL代码段。 每个程序的输出应转到stdout或您的语言可接受的替代方案。 程序不应提示或要求输入。(如果提示输入是您的语言固有的,那么可以。) 程序应具有确定性,运行时有限且独立。例如,一个文件是否在与其他程序分开的文件夹中运行没关系。 程序的输出应该是与之对应的可精确打印的ASCII字符,可以选择在其后跟一个单行换行符,仅此而已。 确保在答案中包括所有95个(理想)程序的信息,以及分数和任何DNP。你不必列出所有遵循像一个简单的模式程序“ ,...”但要确保你确信他们都将工作,你的分数是正确添加。print(chr(80))print(chr(81))print(chr(82)) 作为参考,以下是程序必须输出的95个可打印ASCII: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~