2 votes

Fonction de produit polynomial

Je suis un débutant en F# et j'essaie de créer une fonction mul pour multiplier deux polynômes. J'utilise trois fonctions d'aide : add, mulX et mulC qui respectivement ajoutent des polynômes, multiplient par x et multiplient par constant. L'idée est que je représente mes polynômes sous forme de listes, donc [1;2;3] serait 1+2 x+3 x^2.

J'ai obtenu la définition suivante en tant que ligne directrice pour combiner les fonctions d'assistance.

Cependant, je n'arrive pas à le faire fonctionner, même si (je pense) j'ai suivi la ligne directrice à la lettre.

J'ai ajouté une capture d'écran du code, des fonctions d'aide et de la sortie. ici . J'obtiens 2+7 x+13 x^2+11 x^3+3 x^4, et je suis censé obtenir 2+7 x+12 x^2+10 x^3+2 x^4+3*x^5.

Je suis désolé si le format est mauvais, c'est mon premier message.

Où me suis-je trompé ? J'ai testé mes fonctions d'aide et elles semblent fonctionner. Toute aide est la bienvenue !

1voto

brianberns Points 727

Après avoir examiné votre code, je pense qu'il est correctement mis en œuvre. Vous avez juste déformé le test. Il devrait être :

mul [2;3;0;1] [1;2;3]

Notez que le dernier terme du premier polynôme est x 3 et il n'y a pas de x 2 terme :

2 + 3x + x 3 \= 2 + 3x + 0x 2 + 1x 3

Une erreur facile à commettre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X