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.
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)] |