你好任何人都可以帮我计算前n个数字的总和.例如,n = 4 => sum = 10.到目前为止,我已经写了这个
predicates
sum(integer,integer)
clauses
sum(0,0).
sum(N,R):-
N1=N-1,
sum(N1,R1),
R=R1+N.
Run Code Online (Sandbox Code Playgroud)
这个工作但我需要另一个实现.我没有任何想法如何使这种差异化.请帮忙
(defun sum(n)
(cond
((= n 0) 0)
((= n 1) 1)
(T (+ n sum (- n 1)))))
Run Code Online (Sandbox Code Playgroud)
如果我调用(sum 4)它应该显示10但它给我一个错误:变量SUM没有值
有人可以帮助了解这里发生了什么吗?
(DEFUN G(L)(+(CAR L)(CADR L)))
(SETQ H`F)(SET H `G)
Run Code Online (Sandbox Code Playgroud)
我想知道我评估时会发生什么(F`(2 3 4 5 6))
我在我的lisp解释器中写了它,但是我收到以下错误:
Undefined function F
Run Code Online (Sandbox Code Playgroud)