Реализуйте полиномиальное длинное деление, алгоритм, который делит два полинома и получает частное и остаток:
(12x ^ 3 - 5x ^ 2 + 3x - 1) / (x ^ 2 - 5) = 12x - 5 R 63x - 26
В ваших программах вы будете представлять полиномы в виде массива с постоянным членом на хвосте. например, x ^ 5 - 3x ^ 4 + 2x ^ 2 - x + 1 станет [1, -3, 0, 2, -1, 1].
Функция длинного деления, которую вы собираетесь написать, вернет два значения: частное и остаток. Вам не нужно обрабатывать неточности и арифметические ошибки. Не используйте математическую библиотеку для своей работы, однако вы можете сделать так, чтобы ваша функция могла работать с символическими значениями. Самый короткий код выигрывает.
ПРИМЕР: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])