Theoretische Informatik 3 WS 2006/07

Werbung
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
Herunterladen