10
Brainf ***高尔夫球手
用编程语言编写的最简单的代码之一是程序打印字符序列(例如,“ Hello,world!”)。然而,S ^ ō 米é é 小号Ø 牛逼é [R 我ç编程语言,如Brainfuck,连这个简单的代码是很烦人的写入。 您的任务是编写一个程序(不必使用Brainfuck编写),该程序将打印(最小长度)Brainfuck程序,并打印给定的文本。 输入值 字符序列(介于1和之间255)由任何格式(变量,参数,stdin,文件等)给出。 输出量 输出是有效的(无不匹配[和])脑力激荡的代码(假设无符号的8位换行单元和左右两侧单元的数量不受限制)打印作为输入给出的确切字符串。 例如,输入的一种可能的输出A是++++++++[<++++++++>-]<+.。 您的程序不必花很长时间(>2m)即可运行。 BF程序不必花很长时间(>10s)即可运行。 计分 (注意:当前的评分方法可能会更改,因为它不容易计算...) 程序的长度(生成BF代码)本身并不重要。但是,在程序代码中对BF代码进行硬编码是不正确的。唯一可接受的范围(例如一个BF码打印的单个字符。0x01:+.)的BF码可能是硬编码的。 分数是打印这些字符串的BF代码的长度总和。 Hello, world!附加了一个0x0A(\n)的字符串(即“ Hello,world!”程序) 单个字符0x01〜0xFF 这255个BF代码的长度总和乘以1/16,四舍五入后加到得分上。 前16个字符串的列表,该列表是通过删除所有零长度字符串来拆分11-11-11生成的字节的随机序列而生成的0x00。 Lenna.png,删除所有0x00s。 这首歌的歌词是99瓶啤酒,开头是99 bottles~,换行符是0x0A,段落之间用两个0x0As 分隔,结尾没有换行符。 您可能提供的其他字符串。 您的程序可能包括计算自身的分数。 当然,得分最低的代码将是赢家。