不过,想超越TREE3的话,可以试试看看这个:
p1(p2(p3(p4(p5(p6(p7(p8(p9))))))))[2]
我们对这个表达式进行操作。操作流程如下:
中括号的数记为k,找到最右边的pn,对其进行检查:
如果n=1:
如果它在最外层,即没有东西包着它,那么直接去掉它,并将k加一
否则,找到包着它的最近的pm,得到pm($+p1),将其变换为pm($)+pm($)+…,共k个pm,然后将k加一
如果n≠1:
找到最近的包着pn的pm,得到pm($+pn),将其变换为pm($+pm($+pm($+…))),k层。然后将k加一
循环进行操作直到表达式中不存在pn,结束操作,输出k
【注:$可以为空表达式,且pn等价于pn(空),pm(pn)等价于pm(空+pn)】
举例:
p1(p1(p1+p1))[2]
=p1(p1(p1)+p1(p1))[3]
=p1(p1(p1)+p1+p1+p1)[4]
=p1(p1(p1)+p1+p1)+p1(p1(p1)+p1+p1)+p1(p1(p1)+p1+p1)+p1(p1(p1)+p1+p1)[5]
=……
第二个例子:
p1(p2(p2+p2+p1))[2]
=p1(p2(p2+p2)+p2(p2+p2))[3]
=p1(p2(p2+p2)+p2(p2+p1(p2(p2+p2)+p2(p2+p1(p2(p2+p2)+p2(p2))))))[4]
=p1(p2(p2+p2)+p2(p2+p1(p2(p2+p2)+p2(p2+p1(p2(p2+p2)+p2(p1(p2(p2+p2)+p2(p1(p2(p2+p2)+p2(p1(p2(p2+p2)+p2)))))))))))[5]
=……
那么,p1(p2(p3(p4(p5(p6(p7(p8(p9))))))))[2]的输出结果将远远大于TREE3