【发布时间】:2018-12-10 09:17:01
【问题描述】:
我在这个练习中有一些问题
COTO(0,y)=y
COTO(x+1,y)=SUCC(SUCC(COTO(x, SUCC(y)))
COTO (1,3); COTO (2,2); COTO (3,44) - ?
例如,我知道 SUCC(2) = 3,但我仍然对这个问题没有任何想法。有人可以帮忙吗?可能是 LISP 语言,但 Google 没有答案。
【问题讨论】:
-
用加工的模式替换 COTO(1,3):这里是第二个模式,X=0 和 Y=3(注意:模式不应该是 COTO(SUCC(X), Y)代替?)。您获得了对 COTO 的递归调用,您应该向其中添加 2(因为您有两个 SUCC 应用程序)。递归调用是 COTO(0,4),它匹配 Y=4 的第一个模式。因此递归调用的结果是 4。你加 2 得到 6。
标签: recursion functional-programming lisp successor-arithmetics