7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 KATHRIN TOFALL Aufgabe 7. (Symmetrischer EEA). (9 Punkte) Ziel dieser Aufgabe ist es zu zeigen, was man gewinnt, wenn man bei der Division mit Rest auch negative Reste zulässt. Seien a und b zwei ganze Zahlen. Man kann leicht zeigen, dass es immer zwei ganze Zahlen q und r gibt, so dass a = qb + r und jbj»r< jbj. Wir nennen 2 2 dies symmetrische Division mit Rest und schreiben q = a squo b. (Idee: Verwende normale Divison mit Rest und korrigiere das Ergebnis.) (i) Berechne entsprechende q und r für a =00und b =53. /2 Es ist also eine Zerlegung 00 = q 53 + r gesucht mit 26; 5» r<26; 5. Normale Division mit Rest liefert dann: 00 = 53+47: 47 ist offensichtlich zu groß. Aber es gilt: 47 = b 6. Das können wir jetzt einsetzen: a = b + b 6=2 b 6: Damit ist q =2und r = 6. (ii) Berechne entsprechende q und r für a = 807 959 und b = 29 25. /2 Hier suchen wir dann eine Zerlegung 807 959 = q 29 25 + r gesucht mit 09 607; 5» r<09 607; 5. Wenn wir normale Division mit Rest ausführen, erhalten wir: a = 807 959 = 3 29 25 + 50 34 = 3 b + 50 34: Der Rest ist für symmetrische Division mit Rest deutlich zu groß. Wir können aber leicht ausrechnen, dass 50 34 = 29 25 68 90 = b 68 90 gilt. Wenn wir das einsetzen, ergibt sich: a =3 b + b 68 90 = 4b 68 90: Damit gilt q = 4 und r = 68 90.
2 Wir betrachten nun den Erweiterten Euklidischen Algorithmus mit symmetrischen Resten. Algorithmus. Symmetrischer EEA. Eingabe: a; b 2 Z. Ausgabe: ` 2 N, r i ;s i ;t i 2 Z für 0» i» ` +, und q i 2 Z für» i» `, wie unten berechnet.. r 0 ψ a, r ψ b. 2. s 0 ψ, t 0 ψ 0. 3. s ψ 0, t ψ. 4. i ψ. 5. While r i 6=0do 6 0 6. q i ψ r i squo r i. // Hier symmetrische Division mit Rest. 7. r i+ ψ r i q i r i. 8. s i+ ψ s i q i s i. 9. t i+ ψ t i q i t i. 0. i ψ i +.. ` ψ i. 2. Return `, r i, s i, t i für 0» i» ` +, und q i für» i» `. 2 (iii) Benutze diesen Algorithmus, um einen ggt von a = F 0 = 55 und b = F 9 =34zu berechnen. i r i q i s i t i Kommentar 0 55 0 34 2 0 2 3 3 2 55 =2 34 3 3 5 3 3 5 34 = 3 ( 3) 5 4 2 2 8 3 3 =3 ( 5) + 2 5 2 3 2 5 = 2 2 6 0 34 55 2 = 2 ( ) + 0 Damit ist der ggt =j j =3a 2b. 2 (iv) Benutze diesen Algorithmus, um einen ggt von a = 29 25 und b = 807 959 zu berechnen.
3 i r i q i s i t i Kommentar 0 29 25 0 807 959 0 0 2 29 25 4 0 29 25 =0 807 959 + 29 25 3 68 90 3 4 807 959 = 4 29 25 68 90 4 2 52 6 3 29 25 = 3 ( 68 90) + 2 52 5 67 2 70 9 68 90 = 6 2 52 + 6 7 6 70 36 29 35 2 52 =2 67+70 7 5 3 474 279 67 =36 70 + 5 8 7 3 4 27 3 872 70 =3 5 + 7 9 0 47 527 2 895 5 =3 7 + 0 Hier ist also der ggt 7 = 4 27a 3872b. (v) Vergleiche die Anzahl der Schleifendurchläufe aus (iii) und (iv) mit dem normalen euklidischen Algorithmus. [Beide Angaben zum normalen EA sind bekannt!] Der EEA mit normaler Division mit Rest benötigt für die Zahlen aus (iii) 8 Schleifendurchläufe, da es sich um die Fibonacci-Zahlen F 0 und F 9 handelt. Der EEA mit symmetrischer Division mit Rest braucht hier nur 5 Schleifendurchläufe. Für die beiden anderen Zahlen werden 0 und 8 Durchläufe gemacht. (vi) Zeige, dass ab i = der Betrag jedes Restes r i+ höchstens halb so groß ist wie der Betrag des vorangehenden Restes r i. Genauer gesagt: jr i+ j» 2 jr ij, falls» i» `. Nach Voraussetzung gilt für den Quotienten q 2 Z und den Rest r 2 Z bei symmetrischer Division mit Rest von r i durch r i : r i = qr i + r und 2 jr ij»r< 2 jr ij: Wegen q i = r i squo r i folgt q = q i und dann ist r i+ = r i q i r i = r i qr i = r: Damit gilt jr 2 ij» r i+ < jr 2 ij, also jr i+ j» jr 2 ij. Die Bedingung ab i = wird benötigt, weil vorher im Algorithmus noch keine Division mit Rest ausgeführt wird. (vii) Schließe, dass jr i j» 2 i jbj für» i» ` +gilt.
4 Diese Teilaufgabe wird natürlich mit Induktion gelöst. Wir wissen aus dem Algorithmus, dass b = r. Induktionsanfang i =: Offensichtlich gilt jr j = jbj. Induktionsanfang i =2: Es gilt jr 2 j» 2 jr j = jbj: 2 2 Induktionsschritt i! i +: Wir schätzen r i+ ab: jr i+ j (vi)» 2 jr ij» IV jbj 2 2 = i 2 jbj: (i+) (viii) Zeige, dass diese Variante des Euklidischen Algorithmus für b 6= 0höchstens log 2 jbj +Schritte (also Durchläufe von Schritt 5 0 im Algorithmus) braucht. Zum Beweis dieser Aussage nehmen wir das Gegenteil an und führen die Annahme zum Widerspruch: Annahme: `>log 2 jbj +. Dann wäre ` > log 2 jbj und damit 2` > jbj. Wenn wir diese Gleichung jetzt durch 2` teilen, erhalten wir: > jbj 2` (vii) jr`j: Also muß der Betrag von r` schon 0 sein. Das kann aber nicht sein, da nach Voraussetzung r` der letzte Rest ungleich 0 ist. Das ist ein Widerspruch, also ist unsere Annahme falsch. Aufgabe 7.2 (Modulare Arithmetik). (6 Punkte) /3 (i) Löse x 27 828 + 34 59 mod 25 geschickt. Für die ersten drei Teilaufgaben führen wir zuerst zwei Divisionen mit Rest aus: 27 828 = 2 74 25 + 78 und 34 59 = 2 53 25 + 34: Jetzt kann man folgendes leicht berechnen: 27 828 + 34 59 78 + 34 = 2 mod 25:
5 /3 (ii) Löse x 27 828 34 59 mod 25 geschickt. 27 828 34 59 78 34 = 44 mod 25: (iii) Löse x 27 828 34 59 mod 25 geschickt. /3 27 828 34 59 78 34 = 32+2340 62+2590 62+90 = 52 27 mod 25: (iv) Löse 5(x + 27) 4x mod 3. /2 Die Gleichung kann in diese Form gebracht werden: x +35 0mod3: Dann x 35 20 mod 3. (v) Löse 5(x +27) 25 mod 3. /2 Multiplizieren wir mit 6 (dh. wir kürzen eine 5), so erhalten wir x +27 5 mod 3; also ist x 22 9 mod 3. (vi) Löse 3(5 x) 7x mod 3. /2 Dies Gleichung kann man erstmal so umformen: 30x +65 0mod3: Leicht ist zu sehen, dass 30x x mod 3 und 65 3mod3. Somit können wir unsere Gleichung schreiben als x +3 0mod3; und somit x 28 3mod3. (vii) Berechne s; t 2 Z mit =5s +7t. /2
6 Hier benutzen wir den EEA: i r i q i s i t i Kommentar 0 5 0 7 0 0 2 5 3 0 5 =0 7 + 5 3 2 2 3 7 =3 5+2 4 2 7 2 5 =2 2+ 5 0 7 5 2 =2 +0 Aus der Tabelle können wir dann sofort sehen: =7 5 2 7: Also s =7und t = 2. (viii) Löse 5x mod 7. Diese Aufgabe ist jetzt keine Schwierigkeit mehr mit der Vorarbeit aus (vii): 5s +7t 5s mod 7: Also gilt x = 0, bzw. x =7. (ix) Finde alle Lösungen von 3x 0 mod 5. Genau alle durch 5 teilbaren x sind in der Lösungsmenge dieser Gleichung, x 2fy 5 y 2 Zg : (x) Finde alle Lösungen von 3x 2 mod 0. Diese Gleichung hat keine Lösung, weil jede Linearkombination von 3 und 0 durch 3 teilbar ist. Die Lösungsmenge ist also leer. Aufgabe 7.3 (Modular Potenzieren). (0 Punkte) Achtung: Diese Aufgabe wird nicht korrigiert. (i) Berechne 3 6 rem 7 (von Hand!).
7 3 2 8 mod7 3 4 ( 8) 2 =64 4mod7 3 8 ( 4) 2 =6 mod7 3 6 ( ) 2 mod7: (ii) Berechne 3 0 000 rem 85 (von Hand!). Die Zahl 85 ist das Produkt von 5 und 7 und modulo 7 war 3 6 besonders einfach. Wir betrachten also mal 3 6 mod 85: 3 2 = 9mod85 3 4 = 9 2 =8 4mod85 3 8 = ( 4) 2 =6mod85 3 6 (6) 2 =256 mod85: Mit diesem Wissen läßt sich jetzt die ursprüngliche Aufgabe leicht lösen: 3 0 000 = 3 6 625 625 =mod85: (Man sieht leicht, dass 6 = 2 4 ein Teiler von 0000 = 0 4 ist.) Aufgabe 7.4 (Teilbarkeitsregeln). (5 Punkte) Du kennst bestimmt einige Teilbarkeitsregeln. Zum Beispiel ist eine Zahl durch 2 teilbar, wenn ihre Dezimaldarstellung auf 2, 4, 6, 8 oder 0 endet. Und eine Zahl ist durch 3 teilbar genau dann, wenn auch ihre Quersumme durch 3 teilbar ist. Woher kommen diese Regeln? Wir wollen einige interessante anschauen, die in Deiner Sammlung vielleicht noch fehlen: (i) Beweise die Teilbarkeitsregel für 9: Satz. Wenn die Quersumme einer Zahl x durch 9 teilbar ist, dann ist auch x durch 9 teilbar. Tipp: Betrachte x = P0»j<k x j0 j modulo 9. Eine ganze Zahl x läßt sich darstellen als x = P0»j<k x j0 j. Außerdem können wir leicht sehen, daß gilt: 0 mod9:
8 Wenn wir jetzt unsere Darstellung von x modulo 9 betrachten, fällt folgendes auf: x = x j 0 j x j j mod 9: 0»j<k 0»j<k Wir erhalten also sogar viel mehr: Lemma. Die Zahl x ist modulo 9 kongruent zu ihrer Quersumme. Λ Wenn jetzt die Quersumme y = P0»j<k x j von x 2 Z durch 9 teilbar also gleich 0mod9 ist, dann offensichtlich auch x selbst. Bei sehr großen Zahlen betrachtet man gegebenenfalls die Quersumme der Quersumme usw. (ii) Leite eine Teilbarkeitsregel für 3 ab. Da 3 ein Teiler von 9 ist, folgt diese Regel sofort aus dem vorhergehenden Lemma. Alternativ kann man wegen 0 mod3auch den letzten Beweis wiederholen. (iii) Finde und zeige eine Teilbarkeitsregel für. Auch 0 modist ein schönes Ergebnis, mit dem man hier weiterarbeiten kann: x = 0»j<k 0»j<k = x j 0 j x j ( ) j = x 0 x + x 2 x 3 ::: 0»j< k 2 x 2j 0»j< k 2 x 2j+ mod : Man bildet eine sogenannte Wechselsumme, also die Quersumme der geraden Stellen von x minus der Quersumme der ungeraden Stellen von x. Wenn jetzt diese Wechselsumme durch teilbar ist, dann auch x selbst. (iv) Finde und zeige eine Teilbarkeitsregel für 00. nämlich: Diese Teilbarkeitsregel ist ähnlich zu der er -Regel. Es gilt 000 mod00:
9 Jetzt wird die betrachtete Zahl x in 3er-Blöcke zerteilt, also: x =(x k x k 2x k 3j :::jx 2 x x 0 ) : (Wenn die Zahl nicht lang genug ist, kann man mit Nullen auffüllen...) Eine zu den ersten Aufgabenteilen analoge Darstellung für x wäre dann: x = 0»j< k 3 (x 3j+2 x 3j+ x 3j) 000 Modulo 00 betrachtet, bedeutet das: x (x 3j+2 x 3j+ x 3j)( ) j = x 2 x x 0 x 5 x 4 x 3 + x 8 x 7 x 6 ::: : 0»j< k 3 Es wird also wieder eine Art Wechselsumme gebildet und wir erhalten auch, dass x und diese Wechselsumme modulo 00 übereinstimmen. (v) Leite eine Teilbarkeitsregel für 7 und 3 ab. [Tipp: 00 = 7 3.] j : 7 und 3 sind Teiler von 00, also gilt auch für diese Zahlen: 000 mod7und 000 mod3: Also kann die gleiche Teilbarkeitsregel verwendet werden. Aufgabe 7.5 (Von großen zu kleinen Moduln). ( Punkt) Zeige: Sei n ein Teiler von m. Sind zwei Zahlen a; b modulo m kongruent, a b mod m, dann sind sie auch modulo des Teilers n kongruent, a b mod n. a b mod m heißt nichts anderes als m j (a b). Wegen n j m folgt sofort n j (a b), also a b mod n.