我正在尝试查看我在R5RS中的期末考试,但遇到一个简单问题的麻烦。我的教授不是很有帮助,我不认识班上的任何人。你能救我吗?
函数比率包含两个参数f(函数)和x(一个数字)。我不得不使用let语句。该方案函数应该产生以下结果:
F(X)+ F(X + 1)/ F(X)
这是我到目前为止所做的:
(define (ratio f x)
(let ((f (+ x 1)))
(/ (+ x (+ f 1))
x)))
(ratio (lambda (x) (+ x 2)) 3)
我尝试了一个小时,但仍然无法得到正确的答案。
答案 0 :(得分:4)
提示:允许a = f(x)
并让b = f(x + 1)
。输出应该是a
和b
?
在您的解决方案中,您将f
绑定到x + 1
的值。所以你的解决方案实际上是在计算(x + (x + 2)) / x
。您需要将f
应用于x
,即(f x)
。
这是一个开始:
(define (ratio f x)
(let ((a (f x)) (b (f (+ x 1))))
...))
答案 1 :(得分:1)
Math Scheme
f(x) (f x)
x+1 (+ x 1)
f(x+1) (f (+ x 1))
a/b (/ a b)
a/f(x) (/ a (f x))
f(x+1)/f(x) (/ (f (+ x 1)) (f x))
c + f(x+1)/f(x) ?
f(x) + f(x+1)/f(x) ?