Implémentez la division longue polynomiale, un algorithme qui divise deux polynômes et obtient le quotient et le reste:
(12x ^ 3 - 5x ^ 2 + 3x - 1) / (x ^ 2 - 5) = 12x - 5 R 63x - 26
Dans vos programmes, vous représenterez les polynômes sous forme de tableau, avec le terme constant sur la queue. par exemple, x ^ 5 - 3x ^ 4 + 2x ^ 2 - x + 1 deviendra [1, -3, 0, 2, -1, 1].
La fonction de division longue que vous allez écrire renverra deux valeurs: le quotient et le reste. Vous n'avez pas besoin de gérer les imprécisions numériques et les erreurs arithmétiques. N'utilisez pas la bibliothèque mathématique pour faire votre travail, cependant, vous pouvez rendre votre fonction capable de gérer des valeurs symboliques. Le code le plus court gagne.
EXEMPLE: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])