【发布时间】:2014-05-30 15:32:56
【问题描述】:
我的尾递归求和过程有什么问题?我的尾递归方案程序不会运行。
代码:
(define (sum term a next b)
(define iter result i)
(if (> i b)
result
(iter (+ result (term i)) (next i))
(iter 0 a )))
(define (increment x)(+ x 1))
(define (sum-square a b)
(sum (lambda(x)(* x x)) a increment b))
(define (sum-int a b)
(define (identity a) a)
(sum identity a increment b))
(sum-int 5 10)
(sum-square 5 10)
错误:
Error: execute: unbound symbol: "result" [sum-int, (anon), sum, (anon), sum-square, sum, (anon)]
【问题讨论】:
-
您收到错误消息了吗? “它不会运行”是什么意思?我看到你已经接受了一个答案,但它的形式表明你可能首先应该得到一个编译错误。请将其包含在问题中,以便其他用户在寻找类似问题的解决方案时可以找到它。
标签: sum scheme tail-recursion