Table of Contents

HW08 - Dělení polynomů

Termín odevzdání 18.12.2022 23:59 CET
Bodový zisk 4b+2b

Zadání

Napište program pro dělení dvou polynomů a to bez použití knihovny numpy (4b), nebo s jejím použitím (2b). Polynomy jsou reprezentovány seznamy, tedy polynom $a_0 + a_1 x + a_2 x^2 + \ldots + a_n x^n$ je reprezentován seznamem [$a_0,\ a_1,\ a_2,\ ... a_n$]. Vstupní polynomy mohou být různého stupně.

Poznámky:

Výsledek je celočíselný polynom. Aby Vám výpočet vyšel, použijte vnitřní typ Fraction.

Odevzdání

Do systému BRUTE odevzdávejte soubor pojmenovaný polynom.py. V tomto souboru budou funkce vypocet_python(data) a vypocet_numpy(data). Návratovou hodnotou funkce bude slovník, který obsahuje koeficienty polynomu, který vznikne vydělením prvního vstupního polynomu druhým vstupním polynomem a zbytek po dělení.

Příklady

prvni = [0, 12, -2, -4]
druhy = [3, -2]
 
ret = vypocet_python({'prvni': prvni, 'druhy': druhy})
 
ret['vysledek'] = [0, 4, 2]
ret['zbytek'] = [0] 

Komentář: neboť $(0 + 4x + 2x^2)(3-2x) = 0+ 12x -2x^2 -4x^3$.

prvni = [5, -3, 6, 2, -8]
druhy = [2, 0, 3, 4]
 
ret = vypocet_python({'prvni': prvni, 'druhy': druhy})
 
ret['vysledek'] = [2, -2]
ret['zbytek'] = [1, 1] 

Komentář: neboť $(2 - 2x)(2 +3x^2+4x^3)+(1+x) = 5 -3x +6x^2 +2x^3 -8x^4$, nebo $(2 - 2x)(2 +3x^2+4x^3) = (5 -3x +6x^2 +2x^3 -8x^4) - (1+x)$