Implementa la divisione polinomiale lunga, un algoritmo che divide due polinomi e ottiene il quoziente e il resto:
(12x ^ 3 - 5x ^ 2 + 3x - 1) / (x ^ 2 - 5) = 12x - 5 R 63x - 26
Nei tuoi programmi, rappresenterai i polinomi come un array, con il termine costante sulla coda. ad esempio, x ^ 5 - 3x ^ 4 + 2x ^ 2 - x + 1 diventerà [1, -3, 0, 2, -1, 1].
La funzione di divisione lunga che si intende scrivere restituirà due valori: il quoziente e il resto. Non è necessario gestire imprecisioni numeriche ed errori aritmetici. Non utilizzare la libreria matematica per fare il tuo lavoro, tuttavia, potresti rendere la tua funzione in grado di gestire valori simbolici. Il codice più corto vince.
ESEMPIO: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])