Votre tâche consiste à prendre deux expressions polynomiales entières à variable unique et à les multiplier dans leur expansion de gauche à droite non simplifiée du premier terme (AKA FOIL dans le cas des binômes). Ne combinez pas des termes similaires et ne réorganisez pas le résultat. Pour être plus explicite sur l'expansion, multipliez le premier terme de la première expression par chaque terme du second, dans l'ordre, et continuez dans la première expression jusqu'à ce que tous les termes aient été multipliés par tous les autres termes. Les expressions seront données dans une variante simplifiée de LaTeX.
Chaque expression sera une séquence de termes séparés par +
(avec exactement un espace de chaque côté) Chaque terme sera conforme à l'expression régulière suivante: (notation PCRE)
-?\d+x\^\d+
En anglais simple, le terme est un interligne facultatif -
suivi d'un ou plusieurs chiffres suivis de x
et d'une puissance entière non négative (avec ^
)
Un exemple d'une expression complète:
6x^3 + 1337x^2 + -4x^1 + 2x^0
Une fois branché sur LaTeX, vous obtenez
La sortie doit également être conforme à ce format.
Étant donné que les crochets n'entourent pas les exposants dans ce format, LaTeX rendra en fait les exposants à plusieurs chiffres de manière incorrecte. (par exemple, 4x^3 + -2x^14 + 54x^28 + -4x^5
rend ) Vous n'avez pas besoin de tenir compte de cela et vous ne devez pas inclure les crochets dans votre sortie.
Exemples de cas de test
5x^4
3x^23
15x^27
6x^2 + 7x^1 + -2x^0
1x^2 + -2x^3
6x^4 + -12x^5 + 7x^3 + -14x^4 + -2x^2 + 4x^3
3x^1 + 5x^2 + 2x^4 + 3x^0
3x^0
9x^1 + 15x^2 + 6x^4 + 9x^0
4x^3 + -2x^14 + 54x^28 + -4x^5
-0x^7
0x^10 + 0x^21 + 0x^35 + 0x^12
4x^3 + -2x^4 + 0x^255 + -4x^5
-3x^4 + 2x^2
-12x^7 + 8x^5 + 6x^8 + -4x^6 + 0x^259 + 0x^257 + 12x^9 + -8x^7
Règles et hypothèses
- Vous pouvez supposer que toutes les entrées sont conformes à ce format exact. Le comportement pour tout autre format n'est pas défini aux fins de ce défi.
- Il convient de noter que toute méthode de prise en compte des deux polynômes est valide, à condition que les deux soient lus en tant que chaînes conformes au format ci-dessus.
- L'ordre des polynômes est important en raison de l'ordre prévu de l'expansion du produit.
- Vous devez prendre en charge les coefficients d'entrée compris entre et et les exposants d'entrée jusqu'à .
- Les coefficients de sortie entre et et les exposants jusqu'à doivent donc être pris en charge.
- Vous pouvez supposer que chaque polynôme d'entrée ne contient pas plus de 16 termes
- Par conséquent, vous devez (au minimum) prendre en charge jusqu'à 256 termes dans la sortie
- Les termes avec des coefficients nuls doivent être laissés tels quels, les exposants étant correctement combinés
- Le zéro négatif est autorisé en entrée, mais il est impossible de le distinguer sémantiquement du zéro positif. Toujours sortir un zéro positif. N'omettez pas les termes zéro.
Bon golf! Bonne chance!