当我输入以下内容时:
(define (root a b c)
(/ (+ (-b) (sqrt (- (exp b 2) (* 4 a c)))) (* 2 a)))
然后输入:
(root 3 6 2)
我收到一条消息,表明该过程有两个参数,但只需要一个。我做错了什么?
最佳答案
exp
函数实际上并不计算指数,它还执行其他数学操作。 (我不知道。)
您想要的通常称为“power”的 pow
,但可能在您的环境中没有定义,所以我建议您定义自己的 square
方法:
(define (square x) (* x x))
然后:
(define (root a b c)
(/ (+ (- b) (sqrt (- (square b) (* 4 a c)))) (* 2 a)))
编辑:哦,您还必须更改几个间距问题,例如 (* 4 a c)
而不是 (*4 a c)
和 (- b)
而不是 (-b)
。您始终必须用空格将运算符与操作数分隔开。
关于scheme - 我在计划中做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3376633/