我必須在Lisp中編寫一個簡單的程序,它將多項式乘以某個因子。在這個例子中,我想乘以(x + 5)* 5x。答案應該是5x^2 + 25x。在LISP中獲取「錯誤的綁定形式」錯誤
當我把((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))))))
任何幫助表示讚賞!