Поліноми Чебишева - це сімейство ортогональних многочленів, які спливають у всіляких місцях математики, і вони мають масу досить цікавих властивостей. Однією з характеристик їх є те, що вони є унікальними поліномами, які задовольняють .Tn(cos(x)) = cos(n*x)
Виклик
Враховуючи невід'ємне ціле число n
, слід вивести n
-й многочлен Чебишева. .Tn(x)
Визначення
n
-М Чебишева даються наступними три термін рекурсії:
T0(x) = 1
T1(x) = x
Tn+1(x) = 2*x*Tn(x) - Tn-1(x)
Деталі
Якщо ваша мова має власний тип полінома, ви можете використовувати цей як вихідний, інакше слід вивести список коефіцієнтів у порядку зростання чи спадання або як рядок, що представляє поліном.
Приклади
T0(x) = 1
T1(x) = x
T2(x) = 2x^2 - 1
T3(x) = 4x^3 - 3 x
T4(x) = 8x^4 - 8x^2 + 1
T5(x) = 16x^5 - 20x^3 + 5x
T10(x) = 512x^10 - 1280x^8 + 1120x^6 - 400x^4 + 50x^2 - 1
У форматі списку низхідних ступенів, який ми отримаємо, і у форматі висхідного ступеня, який ми отримаємоT3(x) = [4,0,-3,0]
T3(x) = [0,-3,0,4]
2*x*(2*x**2 - 1) - x
нормально, як вихід для 3 для підтримуючого полінома, або нам потрібне представлення у вигляді коефіцієнтів desc?
T_5(n) = [0, 5, 3.55271e-15, -20, 0, 16]
0 1
(тобто0*x+1
) дляT_0
?