编辑:我将meta-golf
很快发布此问题的较新版本。保持警惕!
编辑2:我将不再更新挑战,但将其保持打开状态。该meta-golf
版本位于此处:https : //codegolf.stackexchange.com/questions/106509/obfuscated-number-golf
背景:
大多数数字只能用6个不同的符号书写:
e
(欧拉常数)-
(减,非负)^
(求幂)(
)
ln
(自然对数)
例如,您可以i
使用以下等式转换虚数:
(e-e-e^(e-e))^(e^(e-e-ln(e^(e-e)-(e-e-e^(e-e)))))
目标:
k
通过任何合理的方式给定任何整数,仅使用这6个符号输出该数字的最短表示。
例子:
0 => "e-e"
1 => "ln(e)"
2 => "ln(ee)"
// Since - cannot be used for negation, this is not a valid solution:
// ln(e)-(-ln(e))
-1 => "e-e-ln(e)"
笔记:
- 结束括号计入字符总数。
ln(
仅算作1个字符。- 其他所有内容均视为1个字符。
n^0=1
- 操作顺序适用
- 括号乘法是可接受的,例如
(2)(8)=16
,2(5)=10
,和eln(e)=e
。 ln e
无效,您必须这样做ln(e)
@JulianLachniet很喜欢这个主意,但是希望看到请求顺序的前10-20个字词。也许举个例子说明-10到10。WheatWizard已经戳了几个漏洞,如果没有具体示例,很难确定“最短”漏洞的客观标准。
—
Magic Octopus Urn
不确定其中一些较高的级别,尤其是20级
—
。–朱利安·拉希涅
ln(eeee)^ln(ee)
比ln(eeeeeeeeeeeeeeee)
16 短
ln(ee...e)
)是描述正面的最好方法。编辑:不,不是。ln(e^(ln(eeeee)ln(eeee)))
20更好