Étant donné deux polynômes f,g
de degré arbitraire sur les entiers, votre programme / fonction doit évaluer le premier polynôme du deuxième polynôme. f(g(x))
(alias la composition (fog)(x)
des deux polynômes)
Détails
Les Builtins sont autorisés. Vous pouvez assumer toute mise en forme raisonnable comme entrée / sortie, mais le format d'entrée et de sortie doit correspondre. Par exemple, formatage sous forme de chaîne
x^2+3x+5
ou comme liste de coefficients:
[1,3,5] or alternatively [5,3,1]
De plus, les polynômes d'entrée peuvent être supposés être entièrement développés, et les sorties devraient également être complètement développées.
Exemples
A(x) = x^2 + 3x + 5, B(y) = y+1
A(B(y)) = (y+1)^2 + 3(y+1) + 5 = y^2 + 5y + 9
A(x) = x^6 + x^2 + 1, B(y) = y^2 - y
A(B(y))= y^12 - 6y^11 + 15y^10 - 20y^9 + 15y^8 - 6y^7 + y^6 + y^4 - 2 y^3 + y^2 + 1
A(x) = 24x^3 - 144x^2 + 288x - 192, B(y) = y + 2
A(B(y)) = 24y^3
A(x) = 3x^4 - 36x^3 + 138x^2 - 180x + 27, B(y) = 2y + 3
A(B(y)) = 48y^4 - 96y^2
(.)
est une réponse dans Haskell. Vous voulez probablement dire une représentation de la liste des coefficients.