Wir betrachten Polynome f(x),g(x) Q[x]. Die rationalen Koeffizienten (Brüche) werden wie in Aufgabe 2 durch 2-Tupel repräsentiert, die in einer Liste abgelegt sind. Zum Beispiel wird f(x) = -1/3x2 + 2 dargestellt als: 

f = [(2, 1), (0, 1), (-1, 3)]

Schreiben Sie Unterprogramme, die folgende Aufgaben lösen und das entsprechende Ergebnis zurück geben:

1. pol_dif(f): Ableitung des Polynoms f.

2. pol_add(f, g): Summe f + g der beiden Polynome f und g.

3. pol_sub(f, g): Differenz f g der beiden Polynome f und g.

4. pol_mul(f, g): Produkt f · g der beiden Polynome f und g.

5. pol_div(f,  g): Ergebnis einer Division mit Rest der beiden Polynome f und g

6. pol_ggT(f, g): Größter gemeinsamer Teiler der beiden Polynome f und g

Hinweis: Natürlich dürfen Sie hier Ihre Unterprogramme aus Aufgabe 2 verwenden. 

Start time:
Do 11 Jan 2018 14:00:06
End time:
Do 18 Jan 2018 14:00:06
General test timeout:
10.0 seconds

Tests

Comment prefix #
Given input
[(-7, 1), (1, 3), (12, 1)], [(-3, 1), (2, 1)]
[(0, 1), (6, 1), (2, 1), (2, 1), (1, 1)], [(3, 1), (1, 1)]
[(0, 1), (-10, 1), (-3, 1), (-9, 1), (2, 1)], [(0, 1), (-4, 1), (8, 1), (9, 1), (8, 1), (-5, 3), (2, 4)]
[(1, 1), (1, 1), (0, 1), (1, 1), (1, 1)], [(-1, 1), (0, 1), (1, 1), (2, 1), (-1, 1)]
[(4, 7), (0, 1), (5, 5), (-9, 6), (2, 3)], [(6, 5), (-7, 2), (-8, 1)]
Expected output
# Nr. 1
[(1, 3), (24, 1)]
[(2, 1)]
[(6, 1), (4, 1), (6, 1), (4, 1)]
[(1, 1)]
[(-10, 1), (-6, 1), (-27, 1), (8, 1)]
[(-4, 1), (16, 1), (27, 1), (32, 1), (-25, 3), (3, 1)]
[(1, 1), (0, 1), (3, 1), (4, 1)]
[(0, 1), (2, 1), (6, 1), (-4, 1)]
[(0, 1), (2, 1), (-9, 2), (8, 3)]
[(-7, 2), (-16, 1)]
# Nr. 2
[(-10, 1), (7, 3), (12, 1)]
[(3, 1), (7, 1), (2, 1), (2, 1), (1, 1)]
[(0, 1), (-14, 1), (5, 1), (0, 1), (10, 1), (-5, 3), (1, 2)]
[(0, 1), (1, 1), (1, 1), (3, 1)]
[(62, 35), (-7, 2), (-7, 1), (-3, 2), (2, 3)]
# Nr. 3
[(-4, 1), (-5, 3), (12, 1)]
[(-3, 1), (5, 1), (2, 1), (2, 1), (1, 1)]
[(0, 1), (-6, 1), (-11, 1), (-18, 1), (-6, 1), (5, 3), (-1, 2)]
[(2, 1), (1, 1), (-1, 1), (-1, 1), (2, 1)]
[(-22, 35), (7, 2), (9, 1), (-3, 2), (2, 3)]
# Nr. 4
[(21, 1), (-15, 1), (-106, 3), (24, 1)]
[(0, 1), (18, 1), (12, 1), (8, 1), (5, 1), (1, 1)]
[(0, 1), (0, 1), (40, 1), (-68, 1), (-78, 1), (-187, 1), (-217, 3), (-54, 1), (59, 2), (-47, 6), (1, 1)]
[(-1, 1), (-1, 1), (1, 1), (2, 1), (0, 1), (0, 1), (3, 1), (1, 1), (-1, 1)]
[(24, 35), (-2, 1), (-118, 35), (-53, 10), (-39, 20), (29, 3), (-16, 3)]
# Nr. 5
([(55, 6), (6, 1)], [(41, 2)])
([(-9, 1), (5, 1), (-1, 1), (1, 1)], [(27, 1)])
([], [(0, 1), (-10, 1), (-3, 1), (-9, 1), (2, 1)])
([(-1, 1)], [(0, 1), (1, 1), (1, 1), (3, 1)])
([(-3617, 15360), (43, 192), (-1, 12)], [(76519, 89600), (-6715, 6144)])
# Nr. 6
[(41, 2)]
[(27, 1)]
[(0, 1), (258813804058794, 133950876049)]
[(-75, 361)]
[(-8864653135872, 1380918765625)]