阿克曼函数java代码_阿克曼函数

Tcl,67个字节

proc tcl::mathfunc::A m\ n {expr {$m?A($m-1,$n?A($m,$n-1):1):$n+1}}

Tcl,77字节

proc A m\ n {expr {$m?[A [expr $m-1] [expr {$n?[A $m [expr $n-1]]:1}]]:$n+1}}

在联机编译器中,由于超时而无法运行,但是在本地Tcl解释器中,它运行良好。我分析了对A函数的每个根调用,以查看计算每个{m,n}待测对象对花费了多少时间:

m=0, n=0, A=1, time=3.5e-5 seconds

m=0, n=1, A=2, time=2e-6 seconds

m=0, n=2, A=3, time=8e-6 seconds

m=0, n=3, A=4, time=1e-6 seconds

m=0, n=4, A=5, time=2e-6 seconds

m=0, n=5, A=6, time=1e-6 seconds

m=0, n=6, A=7, time=1e-6 seconds

m=0, n=7, A=8, time=1e-6 seconds

m=0, n=8, A=9, time=1e-6 seconds

m=0, n=9, A=10, time=0.0 seconds

m=0, n=10, A=11, time=1e-6 seconds

m=1, n=0, A=2, time=4e-6 seconds

m=1, n=1, A=3, time=6e-6 seconds

m=1, n=2, A=4, time=1e-5 seconds

m=1, n=3, A=5, time=1.2e-5 seconds

m=1, n=4, A=6, time=1.5e-5 seconds

m=1, n=5, A=7, time=2e-5 seconds

m=1, n=6, A=8, time=2e-5 seconds

m=1, n=7, A=9, time=2.6e-5 seconds

m=1, n=8, A=10, time=3e-5 seconds

m=1, n=9, A=11, time=3e-5 seconds

m=1, n=10, A=12, time=3.3e-5 seconds

m=2, n=0, A=3, time=8e-6 seconds

m=2, n=1, A=5, time=2.2e-5 seconds

m=2, n=2, A=7, time=3.9e-5 seconds

m=2, n=3, A=9, time=6.3e-5 seconds

m=2, n=4, A=11, time=9.1e-5 seconds

m=2, n=5, A=13, time=0.000124 seconds

m=2, n=6, A=15, time=0.000163 seconds

m=2, n=7, A=17, time=0.000213 seconds

m=2, n=8, A=19, time=0.000262 seconds

m=2, n=9, A=21, time=0.000316 seconds

m=2, n=10, A=23, time=0.000377 seconds

m=3, n=0, A=5, time=2.2e-5 seconds

m=3, n=1, A=13, time=0.000145 seconds

m=3, n=2, A=29, time=0.000745 seconds

m=3, n=3, A=61, time=0.003345 seconds

m=3, n=4, A=125, time=0.015048 seconds

m=3, n=5, A=253, time=0.059836 seconds

m=3, n=6, A=509, time=0.241431 seconds

m=3, n=7, A=1021, time=0.971836 seconds

m=3, n=8, A=2045, time=3.908884 seconds

m=3, n=9, A=4093, time=15.926341 seconds

m=3, n=10, A=8189, time=63.734713 seconds

最后一对失败{m,n}={3,10},因为它花费了超过一分钟的时间。

对于的较高值m,将需要增加该recursionlimit值。

我将其缩短到65个字节,但它不能满足问题的要求“您的函数必须能够在不到一分钟的时间内找到m≤3和n≤10的A(m,n)的值。” 如果没有,{}它将在TIO上超时,并且不会对最后两个条目进行演示。

Tcl,65个字节

proc tcl::mathfunc::A m\ n {expr $m?A($m-1,$n?A($m,$n-1):1):$n+1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值