您的目标是编写一个打印数字的程序。数字越大,您将获得的积分越多。不过要小心!在评分功能中,代码长度既受限制,又受权重。您的打印数量将除以用于解决方案的字节数的立方。
因此,假设您打印10000000
并且代码为100
字节长。您的最终成绩将是10000000 / 100^3 = 10
。
为了使这一挑战更加困难,还有其他规则要遵循。
- 您不能在代码中使用数字(0123456789);
- 您可以使用数学/物理/等。常量,但只有当他们都小于10(例如,你可以使用丕〜= 3.14,但你不能使用阿伏伽德罗常数 = 6e23)
- 允许递归,但是生成的数字必须是有限的(因此不接受无限数作为解决方案。您的程序需要正确地终止(假设无限制的时间和内存,并生成请求的输出));
- 您不能使用运算
*
(乘),/
(除),^
(幂)或任何其他方式来表示它们(例如2 div 2
,不允许); - 如果需要,您的程序可以输出多个数字。只有最高的一个才算得分;
- 但是,您可以串联字符串:这意味着任何相邻数字序列都将被视为一个数字;
- 您的代码将按原样运行。这意味着最终用户不能编辑任何代码行,也不能输入数字或其他任何内容。
- 最大代码长度为100个字节。
排行榜
- 史蒂芬H.,Pyth ≈˚F φ(1,0,0)7(256 26)/ 1000000 [1]
- 简单地美丽的艺术,红宝石 ≈˚F φ 121(ω)(126) [1]
- 彼得·泰勒,GolfScript ≈˚F ε 0 +ω+ 1(17)/ 1000 [1]
- 水库,GolfScript ≈˚F ε 0(F ε 0(F ε 0(F ε 0(F ε 0(F ε 0(F ε 0(F ε 0(F ε 0(126))))))))) [1]
- 简单美丽的艺术,红宝石 ≈˚F ω ω2 +1(1983)
- eaglgenes101,朱莉娅 ≈˚F ω3(127)
- col6y,Python 3, ≈(127→126→...→2→1)/ 99 3 [1] [3]
- Toeofdoom,Haskell中, ≈一个20(1)/ 99 3 [1]
- Fraxtil,直流电, ≈15↑15 15/100 3 [3]
- 品红,Python和 ≈ACK(126126)/ 100 3 ≈10↑ 124 129
- 肯德尔弗雷,ECMAScript的6, ≈10 3↑ 4 3 /100 3 [1]
- ILMARI Karonen,GolfScript, ≈10↑ 3 10 377 /18 3 [1]
- BlackCap,Haskell, ≈10↑↑65503/100 3
- 递归,Python和 ≈2↑↑九十五分之一十一 3 ≈10↑↑8.63297 [1] [3]
- 纳米,Haskell中, ≈2↑↑一百分之七 3 ≈10↑↑4.63297 [1]
- 大卫偏航,C, ≈10 10 4×10 22 /83 3 ≈10↑↑4.11821 [2]
- 普里莫,Perl中, ≈10(12750684161!)5×2 27 /100 3 ≈10↑↑4.11369
- 艺术,C, ≈10 10 2×10 6 /98 3 ≈10↑↑3.80587
- 罗伯特Sørlie,X86, ≈10 2 2 19 32 /100 3 ≈10↑↑3.71585
- 托比亚,APL, ≈10 10 353 /100 3 ≈10↑↑3.40616
- 达伦石,C, ≈10 10 97.61735 / 98 3 ≈10↑↑3.29875
- ecksemmess,C, ≈10 2 320 /100 3 ≈10↑↑3.29749
- 亚当Speight的,vb.net, ≈10 5000×(2 64)4 /100 3 ≈10↑↑3.28039
- 约书亚,bash中, ≈10 10 15 /86 3 ≈10↑↑3.07282
脚注
- 如果宇宙中的每个电子都是一个量子位,并且其每个叠加都可以用来存储信息(只要您实际上不需要知道所存储的信息在理论上是可能的),那么该程序就需要更多的内存。可能存在,因此无法运行-现在或将来的任何构想。如果作者打算一次打印一个大于≈3↑↑3.28的值,则适用此条件。
- 该程序需要比当前更多的内存,但理论上它并不能存储太多的量子位,因此有一天可能会存在一台可以运行该程序的计算机。
- 当前可用的所有解释器都会发出运行时错误,否则程序将无法按照作者的预期执行。
- 运行此程序将对您的系统造成无法修复的损害。
编辑 @primo:我已经更新了计分板的一部分,使用了希望比较容易的符号,并用小数点表示到下一个更高幂的对数距离。例如10↑↑2.5 = 10 10√10。如果我认为用户的分析是错误的,我也更改了一些分数,请随时对其中任何一个提出质疑。
该符号的说明:
如果0 ≤ b < 1
是的话。a↑↑b = ab
如果b ≥ 1
是的话。a↑↑b = aa↑↑(b-1)
如果b < 0
是的话。a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10)表示为,大数是否计数12*10^10
?
500b
,这是无效的吗?也就是说,我们可以忽略程序打印的所有非数字内容吗?如果是这样,会不会有类似的50r7
算作507
?