2013-03-11 2 views
-2

Люди, помогите мне с этим lisp Функция. Существует список с полиномиальными коэффициентами. Эта функция должна вычислять значение полинома.Полином в Лиспе

Pol (x list) 

, например (Pol 2 '(3 5 2)) => 17

+0

Это домашнее задание для класса или законный вопрос? – atconway

+0

Это для класса. Я решил много других проблем, но я не могу поверить, что не могу решить эту проблему. Проблема в том, что мы не можем использовать функцию exp. Я попытался найти другое решение, но рекурсия всегда создает проблему с первым параметром. (defun pol (список x) (cond ((нулевой список) '0) (t (+ (* x (список автомобилей)) (pol (* xx) (список cdr)))))) (defun polymom (x list) (+ (список автомобилей) (pol x (список cdr)))) это моя попытка – user1973035

+0

@user, можете ли вы опубликовать свою попытку как отформатированный код в своем вопросе? (Мы можем попытаться скопировать его из вашего комментария, но у нас нет надежды на отступ от него правильно.) –

ответ

1

Вы должны использовать Horner's method.

+0

(defun polymom (x list) (cond ((null list) '0) (t (+ (список автомобилей)) (* x (полином x (cdr list))))))) Спасибо человеку за ссылку. Я решил это. – user1973035