SUCC功能

时间:2018-07-02 07:37:21

标签: recursion functional-programming lisp successor-arithmetics

我在练习中遇到一些问题

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没有给出答案。

1 个答案:

答案 0 :(得分:2)

根据匹配的案例,以易于理解的符号书写

COTO (3,44) =(2)= 2 + COTO (2,45) 
            =(2)= 2 + 2 + COTO (1,46) 
            =(2)= 2 + 2 + 2 + COTO (0,47)
            =(1)= 2 + 2 + 2 + 47
            =     2*3 + (44+3)

,因此通常为COTO (n,x) = _ * n + (x + _) = _ * n + _(请填写空白)。