Bonjour,
Pour des polynômes à une seule variable, on peut aussi initialiser la liste des coefs de p de dimension longueur(p1.coefs) + longueur(p2.coefs) - 1, en Python ça ferait :
p.coefs = [0]*(len(p1.coefs)+len(p2.coefs)-1) # exemple : [0]*3 -> [0, 0, 0]
Puis on boucle sur les termes des polynômes de p1 et p2 pour réaliser le produit p = p1*p2 :
1 2 3 4 5 6
| # parcours des indices de p1.coefs
for i1 in range(len(p1.coefs)):
# parcours des indices de p2.coefs
for i2 in range(len(p2.coefs)):
# i1 degré du terme de p1, i2 degré du terme de p2, i1+i2 correspond au degré du terme de p (produit des 2 termes)
p.coefs[i1+i2] = p.coefs[i1+i2] + p1.coefs[i1]*p2.coefs[i2] # mise à jour du coef du terme de degré i1+i2 |
On obtient ainsi les coefs de p :
ex. : [1, 2, 3] -> 1 + 2X + 3X^2
Cela dit c'est une version proche de Python car normalement tout ça se définit à l'aide d'une classe Polynome 
Cdlt,
Partager