Схема Горнера
Вычисление многочлена с переменной
x
при данном значении
x
можно сформулировать в виде накопления. Мы вычисляем многочлен

по известному алгоритму, называемому схема Горнера (Horner’s rule), которое переписывает формулу в виде

Другими словами, мы начинаем с
aₙ
, умножаем его на
x
, и так далее, пока не достигнем
a₀
. Заполните пропуски в следующей заготовке так, чтобы получить процедуру, которая вычисляет многочлены по схеме Горнера. Предполагается, что коэффициенты многочлена представлены в виде последовательности, от
a₀
до
aₙ
.
(define (horner-eval x coefficient-sequence)
(accumulate (lambda (this-coeff higher-terms) <??>)
0
coefficient-sequence))
Например, чтобы вычислить
1 + 3x + 5x³ + x⁵
в точке
x = 2
, нужно ввести
(horner-eval 2 (list 1 3 0 5 0 1))
Комментарии отсутствуют.