Brainf ** k一元及后退
在受限来源和其他此类挑战中非常有用的语言是 一元,其中程序与只有一个字符写在一个brainfuck衍生物。您的工作是编写一个程序,将程序从Brainfuck转换为一元,并编写一个相反的程序,两个程序都使用相同的语言。您的分数将是两个程序的长度之和。 您如何从Brainfuck转换为一元? 首先根据此表将您的Brainfuck代码转换为二进制代码: 现在按代码顺序将代码连接成一个巨大的二进制数。 前置一个 1字符串,以确保一个唯一的二进制数。 使用任何字符将二进制数转换为一元数。 例如:+.将为000000000000000000000000000000000000000000000000000000000000000000000000000000000000(84个零)。 Brainfuck->一元规格 由于生成的程序不可能太大,因此,请不要打印实际的程序,而仅打印生成的程序的长度。 通过stdin,arg函数等将Brainfuck程序作为字符串,并输出长度。 该程序将始终有效,并且其中仅包含这8个字符。 一元-> Brainfuck规格 您将必须实现与上述算法相反的方法。 再次由于存在巨大的问题,输入将是一个描述Unary代码长度的数字。 一如既往的I / O规则。 该程序将始终有效,并且其中仅包含这8个字符。 测试用例 你好世界- ++++++[>++++++++++++<-]>.>++++++++++[>++++++++++<-]>+.+++++++..+++.>++++[>+++++++++++<-]>.<+++[>----<-]>.<<<<<+++[>+++++<-]>.>>.+++.------.--------.>>+.=239234107117088762456728667968602154633390994619022073954825877681363348343524058579165785448174718768772358485472231582844556848101441556 斐波那契- ++++++++++++++++++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++++>++++++++++++++++>>+<<[>>>>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>[<+>-]>[-]>>>++++++++++<[->-[>+>>]>[+[-<+>]>+>>]<<<<<]>[-]>>[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<[++++++++++++++++++++++++++++++++++++++++++++++++.[-]]<<<++++++++++++++++++++++++++++++++++++++++++++++++.[-]<<<<<<<.>.>>[>>+<<-]>[>+<<+>-]>[<+>-]<<<-]<<++...=13067995222095367150854793937817629722033205198624522624687536186118993888926522550140580142585590431635487113180955099384652678100247403485397450658564826143160529351955621991895221530908461364045400531236124980271740502887704217664044858614821622360156740992393765239123681327824577149595724956207165558106099868913919959549896553103116795519592552089266360725543244154867904980260 这是代码高尔夫球,因此最低得分(以字节为单位)将获胜! 有人在Unary寻找解决方案吗?; P