Функция exp
на самом деле не делает экспоненты, она делает что-то еще математическое.(Я не знаю.)
То, что вы хотите, обычно называется 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)
.Вы всегда должны отделять оператор от операндов с пробелами.