Полиномы Лежандра - Lisp

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, помогите пожалуйста с написание кода функции Лежандра, нужно использовать рекурсию на языке LISP.

Решение задачи: «Полиномы Лежандра»

textual
Листинг программы
  1. (defun leg-poly (n x &optional (p 1) (c x))
  2.   (cond ((zerop n) p)
  3.         ((= n 1) c)
  4.         (t (let ((d (+ n 1)))
  5.              (leg-poly (- n 1) x c (- (* (/ (+ n n 1) d) x c) (* p (/ n d))))))))

Объяснение кода листинга программы

В коде определена функция LAG-POLY. Она принимает три аргумента:

  1. N — количество членов в полиноме
  2. X — переменная, которую необходимо подставить в полином
  3. P — коэффициент при X в полиноме Если N равно нулю, то функция возвращает P. Если N равно 1, то функция возвращает C. В противном случае, функция возвращает результат вычисления полинома, который рассчитывается следующим образом:
  4. Вычисляется значение переменной D, равное N+1.
  5. Рекурсивно вызывается функция LAG-POLY с аргументами: N-1, X, C.
  6. Вычисляется значение переменной P, равное N/D.
  7. Вычисляется значение переменной Q, равное (N*C)/D.
  8. Результатом функции является сумма P и Q.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы