Desafio
Dado um polinômio pcom coeficientes reais de ordem 1e grau n, encontre outro polinômio qde grau no máximo ntal que (p∘q)(X) = p(q(X)) ≡ X mod X^(n+1), ou seja, p(q(X)) = X + h(X)ondeh seja um polinômio arbitrário ord(h) ≥ n+1. O polinômio qé determinado exclusivamente por p.
Para um polinômio p(X) = a(n)*X^n + a(n+1)*X^(n+1) + ... + a(m)*X^monde n <= me a(n) ≠ 0, a(m) ≠ 0dizemos que né a ordem de pe mé o grau de p.
Simplificação : você pode assumir que ppossui coeficientes inteiros e a(1)=1(so p(X) = X + [some integral polynomial of order 2]). Neste caso, também qtem coeficientes integrais.
O objetivo dessa simplificação é evitar os problemas com números de ponto flutuante. Existe, no entanto, um exemplo não integral para fins ilustrativos.
Exemplos
- Considere a série de Taylor
exp(x)-1 = x + x^2/2 + x^3/6 + x^4/24 + ...eln(x+1) = x - x^2/2 + x^3/3 - x^4/4 + ...então obviamenteln(exp(x)-1+1)= x. Se considerarmos apenas os polinómios de Taylor de grau 4 dessas duas funções que obtemos com a notação de baixo (veja testcases)p = [-1/4,1/3,-1/2,1,0]eq = [1/24, 1/6, 1/2, 1,0]e(p∘q)(X) ≡ X mod X^5

Considere o polinômio
p(X) = X + X^2 + X^3 + X^4. Então, paraq(X) = X - X^2 + X^3 - X^4chegarmos(p∘q)(X) = p(q(X)) = X - 2X^5 + 3X^6 - 10X^7 +...+ X^16 ≡ X mod X^5
Casos de teste
Aqui, os polinômios de entrada e saída são escritos como listas de coeficientes (com o coeficiente do mais alto grau monomial primeiro, o termo constante último):
p = [4,3,2,0]; q=[0.3125,-.375,0.5,0]
Casos de teste integrais:
p = [1,0]; q = [1,0]
p = [9,8,7,6,5,4,3,2,1,0]; q = [4862,-1430,429,-132,42,-14,5,-2,1,0]
p = [-1,3,-3,1,0]; q = [91,15,3,1,0]