recursion - 与 SUCC 的功能

标签 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 语言,但谷歌没有答案。

最佳答案

按照匹配的情况,用人类可读的符号书写,

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 + _(填空)。

关于recursion - 与 SUCC 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51131179/

相关文章:

python - python 中混合层次结构级别的 shutil.rmtree

javascript - 如何编写 100% 纯记忆化功能?

java - flatMap 的方法级通用类型

list - LISP - 正在返回充满#的列表

haskell - fix 只能用非严格评估语言输入吗?

python - 查找图中从 A 到 N 的所有路径

unix - Ant 的递归 chmod 能否在速度上与 exec 竞争?

haskell - 如何摆脱这种歧义?

scheme - "Ill-formed clause"问题,中间方案

string - 读取字符串不输出完整的字符串clojure