Prof. Dr. V. Strehl Informatik 8 10. Januar 2007 Übungen zu Theoretische Informatik 3 WS 2006/07 Euclid’s algorithm (...) may be called the granddaddy of all algorithms, because it is the oldest nontrivial algorithm which has survived to the present day. D. E. Knuth in Sec. 4.5.2 von The Art of Computer Programming • Aufgabe 32: Teilbarkeitstests In der Schule haben Sie sicher Rechenhilfen kennengelernt, wie diese: Eine natürliche Zahl ist genau dann durch 3 teilbar, wenn die ihre Quersumme (in Dezimalnotation) durch 3 teilbar ist. Ähnliche Regeln gibt es für die Teilbarkeit durch 9 bzw. 11, aber eine entsprechende Regeln für die Teilbarkeit durch 7 oder durch 13 (beispielsweise) sind nicht gelehrt worden. Warum wohl? Mit n = hnk nk−1 · · · n1 n0 i10 soll die Dezimaldarstellung der Zahl n ∈ N bezeichnet werden, d.h. n = nk · 10k + nk−1 · 10k−1 + · · · + n1 · 101 + n0 · 100 . Die Quersumme bzw. die alternierende Quersumme von n sind dann die Zahlen s(n) = nk + nk−1 + · · · + n1 + n0 bzw. s± (n) = (−1)k nk + (−1)k−1 nk−1 ± · · · − n1 + n0 Begründen Sie die folgenden Rechenregeln, die die Teilbarkeitsregeln als Spezialfälle enthalten: für jedes n ∈ N gilt n mod 2 = n0 mod 2 n mod 5 = n0 mod 5 n mod 3 = s(n) mod 3 n mod 9 = s(n) mod 9 n mod 11 = s± (n) mod 11 Formulieren Sie entsprechende Regeln für das Teilen durch 99 bzw. 101. Hier sind Aussagen, die die vermissten Teilbarkeitstest für 7 und 13 enthalten. Dafür bezeichne q1000 (n) bzw. r1000 (n) den Quotienten bzw. den Rest der Division von n durch 1000, d.h. n = 1000 · q1000 (n) + r1000 (n) mit 0 ≤ r1000 (n) < 1000. Zeigen Sie, dass für d = 7, 11 und 13 und alle n ∈ N gilt n mod d = (r1000 (n) − q1000 (n)) mod d. Formulieren Sie damit griffige Teilbarkeitstests für d = 7 und d = 13. (Der Fall d = 11 ist nicht so interessant, da er oben schon abgedeckt ist). 1 • Aufgabe 33: Bézout im Originalton In dem Lehrbuch Cours de Mathématiques à l’usage des Gardes du Pavillon et de la Marine, Paris (1766), stellt E. Bézout (1739–1783) auf Seite 118 die folgende Aufgabe: Question premiere: On demande en combien de manieres on peut payer 542 livres, en donnant des pieces de 17 liv. & recevant en échange des pieces de 11 livres. (deren Lösung er dann auch ausführlich diskutiert). Ersichtlich geht es um die nichtnegativen ganzzahligen Lösungen der Gleichung 17 x − 11 y = 542 1. Berechnen Sie ggT(17, 11). 2. Berechnen Sie eine Lösung von 17 x−11 y = 542 mit Hilfe des erweitertem euklidischen Algorithmus 3. Bestimmen Sie die Lösungsgesamtheit. Wieviele Lösungen gibt es? Welches ist die Lösung, bei der x nicht negativ und so klein wie möglich ist? 4. Beantworten diese Fragen auch in Bezug auf die Gleichung 17 x + 11 y = 542 • Aufgabe 34: Grösste gemeinsame Teiler für spezielle Zahlen 1. Sind x 6= y ganze Zahlen und ist n ∈ Z≥0 , so gilt (x − y)|(xn − y n ). Hinweis: geometrische Reihe 2. Sind a, b ∈ Z>0 und ist a = b · q + r die Divisionbeziehung, d.h. q = ba/bc und 0 ≤ r < b, ist ferner n ∈ Z>0 , so gilt na − 1 mod nb − 1 = nr − 1 Zeigen Sie dies. Was ist na − 1 div nb − 1 ? 3. Vergleichen Sie den Ablauf des euklidischen Algorithmus für (na − 1, nb − 1) mit dem für (a, b) und zeigen sie, dass ggT(na − 1, nb − 1) = nggT(a,b) − 1 ist • Aufgabe 35: Rechnen in Zn 1. Berechnen Sie ϕ(46), die Inversen von 13 und 31 in Z∗46 , sowie die Ordnungen modulo 46 der Elemente a = 3 und b = 5. 2. Berechnen Sie in Z∗46 die Potenzen a234 und b234 , und zwar mit möglichst wenigen Multiplikationen, – indem Sie die Kenntnis der Ordnungen von a und b voraussetzen. – indem Sie die Kenntnis von ϕ(46) voraussetzen. 3. Wenn bekannt ist, dass die natürliche Zahl n das Produkt von zwei Primzahlen p und q ist, also n = p · q, wie kann man dann aus der Kenntnis von ϕ(n) die beiden Teiler p und q berechnen. Führen Sie das für n = 10088821 durch, indem Sie die Information ϕ(n) = 10082272) verwenden. 2