我必须在 Lisp 中编写一个简单的程序,将多项式乘以某个因子。在这个例子中,我想乘(x + 5) * 5x。答案应该是5x^2 + 25x。
当我投入时,((1 1) (5 0)) (5 1))
我应该得到(5 2) (25 1)
. 但是,我遇到了各种错误,undefined operator TERM in (TERM)
我bad binding form.
是 Lisp 的新手,并试图返回如上所示的列表。下面是我的一小段代码:
(defun get-coef (term)
(car term))
(defun get-power (term)
(cadr term))
(defun make-term (coef power)
(cons coef power))
(defun poly-eval (poly factor)
(if (null poly) 0
(let ((term (car poly))
(let (coef ((* (get-coef(term)) (get-coef(factor)))))
(power ((+ (cadr(term)) (cadr(factor)))))
(make-term (coef power))
(poly-eval (cdr poly) factor))))))
任何帮助表示赞赏!