Lua代码高尔夫问题

时间:2010-11-15 16:36:10

标签: lua

我一直在玩这个代码高尔夫问题: https://www.spoj.pl/SHORTEN/problems/KAMIL/

我的解决方案最多可达55个字符:

for l in io.lines()do print(2^#l:gsub("[^TDLF]",""))end

现在,Lua中提交的最短解决方案长度为47个字符。我只是 无法弄清楚如何进一步减少我的,它一直让我发疯。 有人对我有暗示吗?我已经尝试过io.read(“* a”)来获取 摆脱循环,但它没有帮助。

2 个答案:

答案 0 :(得分:0)

Lua(54个字符)

repeat print(2^#io.read():gsub('[^TDLF]',''))until nil

完成时出错,所以可能不行

否则我花了一些时间尝试第二次返回gsub;但是你似乎总是在返回选择中获得一个角色。

答案 1 :(得分:-3)

Perl 5(28个字符)

糟糕的开始,我应该为Perl做得更好。但我生锈了。如果我可以初始化

print 2**s/[TLDF]//g,$/for<>

我知道你想要Lua,但我注意到该网站允许除Perl 6之外的所有语言。所以我想提交一个条目: - )