TECHNISCHE UNIVERSITÄT DARMSTADT Fachbereich Mathematik Prof. Dr. Christian Herrmann Matthias Bergner Lars Schewe Wintersemester 2004/2005 2./3. Dezember 2004 Lineare Algebra I 7. Übung Aufgabe G1 Bestimme x (und ggf. y und z) in den folgenden Ausdrücken: (a) 825 + 615 + 34 ≡ x mod 7 (b) x · 7 ≡ 1 mod 11 (c) z = ggT(45, 34) = 45x + 34y (d) 91x + 26y = 1001 Aufgabe G2 In dieser Aufgabe wollen wir uns ein paar mehr oder weniger bekannte Teilbarkeitsregeln anssehen. Hierzu müssen wir zunächst Darstellung für eine ZahlP im Dezimali system festlegen. Wir schreiben für eine Zahl n ∈ Z mit n ≥ 0 wie folgt n = m i=0 ai · 10 , wobei für die ai ∈ {0, . . . , 9} gilt. Mache Dir zunächst klar, dass die ai einfach die Ziffern in der üblichen Dezimaldarstellung sind. Formuliere folgende Aussagen als Teilbarkeitsregeln und beweise sie dann: (a) a0 ≡ n mod 2 (b) 10a1 + a0 ≡ n mod 4 P (c) m i=0 ai ≡ n mod 9 Pm (d) i=0 (−1)i ai ≡ n mod 11 Aufgabe G3 In der obigen Aufgabe einfach angenommen, dass wir jede ganze P haben wir i Zahl n mit n ≥ 0, in der Form n = m a · 10 mit ai ∈ {0, . . . , 9} darstellen können. Nur, i=0 i stimmt diese Annahme? Und vor allem, sind die ai eindeutig bestimmt? P i (a) Zeige, dass jede ganze Zahl n mit n ≥ 0 eindeutig in der Form n = m i=0 ai · 10 mit ai ∈ {0, . . . , 9} dargestellt werden kann. Hinweis: Wie würdest Du vorgehen, wenn Du die Ziffern ausrechnen müsstest? Versuche nun, dieses Vorgehen zu formalisieren. (b) Allgemeiner, sei b ≥ 2. Zeige dass jede ganze Zahl n mit n ≥ 0 eindeutig in der Form P i n= m a · i=0 i b mit ai ∈ {0, . . . , b − 1} dargestellt werden kann. Aufgabe G4 Wir betrachten die Zahl n! = 1 · 2 · · · (n − 1) · n. Wie oft taucht nun der Faktor 2 in n! auf? Anders formuliert: Finde 2 (n) so, dass 22 (n) | n! und 22 (n)+1 - n!. Gib ein Verfahren an, mit dem man 2 (n) effektiv ermitteln kann. Teste Dein Verfahren mit kleinen Zahlen, z.B. n = 10 oder n = 100. Hinweis: Betrachte n in seiner Binärdarstellung. Zum Vergleich: 2 (100) = 97. Hausübungen Aufgabe H1 Die Internationale Standard-Buch-Nummer (ISBN) besteht aus neun Ziffern d1 , . . . , d9 ∈ {0, . . . , 9} und einer Prüfziffer d10 ∈ {0, . . . , 9, X}, wobei X = 10. Die Prüfziffer d10 wird nun so bestimmt, dass folgende Gleichung erfüllt wird: 10d1 + 9d2 + · · · + 2d9 + d10 ≡ 0 mod 11. (1) Wenn wir nun testen wollen, ob eine ISBN korrekt übermittelt wurde, können wir einfach diese Gleichung überprüfen. Immer wenn sie nicht erfüllt wird, wissen wir sicher, dass die ISBN falsch übermittelt wurde. Wie aber steht es mit der Umkehrung, welche Fehler kann die Prüfziffer nicht entdecken? (a) Prüfe für die ISBN eines beliebigen Buches die Gleichung (1) nach. (b) Versuche nun diese ISBN möglichst wenig zu ändern, so dass Dein Ergebnis immer noch die Gleichung (1) erfüllt. (c) Nehmen wir nun an, die ISBN würde in einer Stelle i falsch übermittelt. Zeige, dass dieser Fehler durch die Prüfziffer immer entdeckt werden kann. (d) Was passiert, wenn wir zwei beliebige Ziffern di und dj vertauschen? Wird dieser Fehler immer entdeckt? Aufgabe H2 Eine Möglichkeit verschiedene Körper zu unterscheiden besteht darin ihre sogenannte Charakteristik zu betrachten. Hierzu definieren wir: Sei K ein Körper, dann sagen wir K habe Charakteristik p, wenn p die kleinste positive Zahl ist, so dass 1| + ·{z · · + 1} = 0 gilt. Ansonsten sagen wir, K habe Charakteristik 0. p−mal (a) Zeige, dass die Charakteristik von Zp gleich p, die von R hingegen gleich 0 ist. (b) Zeige, dass jeder endliche Körper eine Charakteristik p > 0 hat. Betrachte hierzu die Folge (ai )i∈ die durch a0 = 0 und ai+1 = ai + 1 definiert ist. Was bedeutet es, wenn es i und j gibt, so dass ai = aj gilt? (c) Sei K ein Körper von Charakteristik p. Zeige, dass p immer prim sein muss. Aufgabe H3 In den ”Neun Büchern arithmetischer Technik” (Übers. Kurt Vogel, Vieweg 1968) einem chinesischen Lehrbuch aus der Han-Zeit (202 v. Chr – 9 n. Chr.) finden wir folgenden Algorithmus um einen Bruch zu kürzen: Die Regel lautet: Das, was halbiert werden kann, halbiere es; kann man es nicht halbieren, dann lege <auf das Rechenbrett> hin den Betrag von Nenner <und> Zähler des Bruches. Um das Kleinere vermindere das Größere. Verändere <die Zahlen> durch gegenseitiges Subtrahieren <sie> verkleinernd, bis Du die gleichen Zahlen bekommst. Mit der gleichen Zahl kürze es. Schreibe den Algorithmus in Deinen eigenen Worten auf, so dass die Anweisungen eindeutig sind. Liefert er immer das korrekte Ergebnis? Wenn Du möchtest, implementiere ihn in einer Programmiersprache Deiner Wahl; warum wurden Varianten dieses Algorithmus gerne bei der Implementation in Assembler verwendet?