【发布时间】:2018-03-22 09:20:01
【问题描述】:
我正在创建一个尾递归函数,它通过传递一个系数列表和一个 x 值来评估多项式。
示例:计算 x^3 + 2x^2 + 5,因此用户将在函数调用 (poly '(5 0 2 1) 1) 中传递列表 '(5 0 2 1) 和类似 1 的 x .
我不知道为什么会出现以下错误:
if: 语法错误: (if (null? (cdr lst)) (+ total (car lst)) eval-poly-tail-helper ((cdr lst) x (+ (* (expt x n) (car lst)) 总计) (+ 1 n)))
(define (poly lst x)
(poly-assistant lst x 0 0))
(define (poly-assistant lst x total n)
(if (null? (cdr lst))
(+ total (car lst))
poly-assistant((cdr lst) x (+ (* (expt x n) (car lst)) total) (+ 1 n))))
【问题讨论】:
-
请尽量自己做功课!你的 fix-my-code 问题跑题了。
标签: recursion scheme syntax-error