6
用尽可能少的不同字符编码程序,
目的是编写一个程序,该程序以尽可能少的字符对另一个程序(输入)进行编码。 计分 分数等于输出所需的不同字符数。 分数越低越好。 规则 没有目标语言且命令集有限。(没有Brainf ** k,Whitespace等) 编辑:我的意思是至少有26个有效字符,A不会改变Brainf ** k程序的运行方式,因此您无法计算此字符。同样适用于空白。 在编写此问题时,目标语言必须存在。 您必须包含一个小说明,说明如何存档分数。 输入程序有效。 编码的程序必须是与输入语言相同的有效程序。 编码的程序必须执行与原始程序相同的工作。 您的编码器必须适用于该语言的每个有效程序。 包括一些样本输入和输出。 笔记 编码器可以用任何语言编写,而不仅限于它所针对的语言。 这不是代码高尔夫,而是鼓励使用可读程序。 伟大的目标是看用这种语言写东西需要多少个不同的字符。我不允许BF等,因为不会有挑战。 这是受“以尽可能少的不同字符打印一个字符串”的启发,您可以将其作为该问题的元高尔夫。 例 在Java中,您可以\uXXXX改用其他字符。有效条目以这种方式对输入中的每个字符进行编码。得分为18。(\ 0-9a-f) Tcl中的代码对Java程序进行编码: set res {} foreach char [split [read stdin] {}] { append res [format \\u%04x [scan $char %c]] } puts $res