1. Das Sieb des Eratosthenes
Das Sieb des Eratosthenes erlaubt es, alle Primzahlen in einem Zahlenintervall 2, …, n bis zu einer beliebigen Grenze n zu gewinnen, indem zusammengesetzte Zahlen schrittweise gestrichen werden. Wir führen das Verfahren zunächst exemplarisch mit n = 100 als Grenze vor. Als Erstes schreiben wir alle Zahlen von 2 bis 100 auf:
Die quadratische Anordnung bietet sich für n = 100 an, ist aber nicht wesentlich. Wir könnten die Zahlen auch in einer Zeile oder kreisförmig anordnen.
Wir markieren nun die Zahl 2 und streichen alle echten Vielfachen der 2:
Die erste nicht markierte und nicht gestrichene Zahl ist die 3. Wir markieren sie und streichen alle ihre echten Vielfachen:
Hier und im Folgenden zählen die Punkte, wie oft eine Zahl gestrichen wurde. Doppelpunkte ergeben sich genau bei den Vielfachen von 2 · 3, also von 6.
Wir markieren nun die 5 und streichen wieder alle echten Vielfachen:
Weiter geht es mit der 7:
Anstelle nun mit der 11 fortzufahren, überlegen wir uns, dass eine zusammengesetzte Zahl k ≤ 100 einen Primteiler besitzt, der kleinergleich 10 ist. Denn andernfalls wäre die Zahl k, da sie keine Primzahl ist, größergleich 112 > 100. Diese Überlegung zeigt, dass wir das Sieben beenden können. Denn alle Zahlen zwischen 2 und 10 wurden bereits markiert oder gestrichen. Sie zeigt zudem, dass es genügt hätte, die Vielfachen p2, p2 + p, p2 + 2p, … einer markierten Zahl p zu streichen. Denn die kleineren Vielfachen sind bereits gestrichen.
Beispiele
(1) | Die echten Vielfachen 22, 33, 44, 55, 66, 77, 88, 99 der 11 wurden bereits bei den Siebungen mit 2, 3, 2, 5, 2 und 3, 7, 2, 3 gestrichen. |
(2) | Die Vielfachen 14, 21, 28, 35, 42 der 7 wurden bereits bei den Siebungen mit 2, 3, 2, 5, 2 und 3 gestrichen. Neu ist 72 = 49. |
Unserer letzten Siebungstabelle können wir also entnehmen, dass es genau 25 Primzahlen im Intervall von 2 bis 100 gibt: 2, 3, 5, …, 83, 89, 97.
Wir formulieren nun das Verfahren allgemein in algorithmischer Form.
Algorithmus: Sieb des Eratosthenes (vollständige Streichung)
Sei n eine beliebige natürliche Zahl. Wir erstellen eine Liste aller Zahlen des Intervalls von 2 bis n. Nun führen wir wiederholt (a) und (b) durch:
(a) | Wir markieren die erste noch nicht markierte und nicht gestrichene Zahl p der Liste. |
(b) | Wir streichen alle echten Vielfachen der neu markierten Zahl p. |
Wir beenden das Verfahren, wenn alle Zahlen markiert oder gestrichen sind. Das Ergebnis der Berechnung ist die Liste der markierten Zahlen.
Algorithmus: Sieb des Eratosthenes (schnellere Version)
Wir streichen in (b) nur die Vielfachen von p ab p2. Zudem beenden wir das Verfahren, wenn alle Zahlen k mit k2 ≤ n markiert oder gestrichen sind. Das Ergebnis besteht aus den markierten und den nicht gestrichenen Zahlen.
Ein Algorithmus beschreibt nur den Verlauf einer Berechnung und ist daher der Kategorie der Definitionen zuzuordnen. Was ein Algorithmus leistet wird in einem Satz formuliert und bewiesen (Korrektheit des Algorithmus). In unserem Fall lautet der Satz: Für alle n liefert der Algorithmus (in beiden Versionen) als Ergebnis genau die Primzahlen im Intervall von 2 bis n.
Die Siebungstabellen enthalten weitere Informationen. Führen wir den Algorithmus in der Langform mit allen Primzahlen durch, so ist die Anzahl der Streichungen einer zusammengesetzten Zahl die Anzahl ihrer Primteiler. Die Vielfachheit eines Primteilers kann dagegen nicht abgelesen werden.
Die folgende Tabelle zeigt, wieviele Zahlen im Intervall von 2, …, 100 in welchem Schritt die Siebung „überleben“:
n = 100: Siebung mit | Anzahl der nichtausgesiebten Zahlen | Differenz |
− | 99 | |
2 | 50 | 49 |
3 | 34 | 16 |
5 | 28 | 6 |
7 | 25 | 3 |
Die rechte Spalte gibt an, wieviele Zahlen ausgesiebt werden. Am Ende bleiben genau 25 Primzahlen übrig.
Für das Intervall von 2 bis 1002 benötigen wir 25 Siebungen (mit den Primzahlen bis 100), um die 1229 Primzahlen dieses Intervalls zu erhalten:
n = 1002: Siebung mit | Anzahl der nichtausgesiebten Zahlen | Differenz |
− | 9999 | |
2 | 5000 | 4999 |
3 | 3334 | 1666 |
5 | 2668 | 666 |
7 | 2288 | 380 |
11 | 2081 | 207 |
13 | 1922 | 159 |
17 | 1812 | 110 |
19 | 1718 | 94 |
23 | 1642 | 76 |
29 | 1583 | 59 |
31 | 1527 | 56 |
37 | 1481 | 46 |
41 | 1440 | 41 |
43 | 1403 | 37 |
47 | 1370 | 33 |
53 | 1343 | 27 |
59 | 1320 | 23 |
61 | 1299 | 21 |
67 | 1282 | 17 |
71 | 1267 | 15 |
73 | 1255 | 12 |
79 | 1246 | 9 |
83 | 1238 | 8 |
89 | 1232 | 6 |
97 | 1229 | 3 |
Siebverfahren bis n = 1000 (vollständige Streichung)
Das Sieb des Eratosthenes ist nicht nur ein effektives Verfahren zur Erzeugung von Primzahllisten, sondern es besitzt auch einen sehr hohen didaktischen, ästhetischen und weiter auch theoretischen Wert. Wir werden bei der Diskussion des Satzes von Mertens darauf zurückkommen. In den folgenden Essays betrachten wir zudem Varianten des Verfahrens.
Die Primzahlfakultät
In unserer Darstellung des Siebverfahrens sind die Zahlen besonders ausgezeichnet, die von vielen Primzahlen geteilt werden. Die Diagramme weisen an den entsprechenden Stellen viele Punkte auf. Speziell gilt dies für die Produkte der ersten Primzahlen. Dies motiviert:
Definition (Primzahlfakultät)
Sei n eine natürliche Zahl. Dann setzen wir
n# = „das Produkt aller Primzahlen p mit p ≤ n“ = ∏p ≤ n, p prim p.
Die natürliche Zahl n# heißt die Primzahlfakultät von n.
Die Definition ist analog zur Fakultät n! = 1 · 2 · … · n einer natürlichen Zahl. Im Gegensatz zur Fakultät werden nur die Primzahlen aufmultipliziert und zusammengesetzte Zahlen übersprungen. Damit gelten für alle n ≥ 1die Abschätzungen
n# ≤ n! und pn# = 2 · 3 · 5 · 7 · 11 · … · pn ≤ pnn (mit der n-ten Primzahl pn)
Wir folgen der Konvention, das leere Produkt als 1 zu definieren (wie auch bei 0! = 1). Damit lauten die ersten Werte der Primzahlfakultät:
0# = 1, 1# = 1, 2# = 2 | |
3# = 2 · 3 = 2# · 3 = 6 | 4# = 3# = 6 |
5# = 2 · 3 · 5 = 3# · 5 = 30 | 6# = 5# = 30 |
7# = 2 · 3 · 5 · 7 = 5# · 7 = 210 | … |
Der Leser betrachte die Werte in den Diagrammen zum Siebverfahren. Der Eintrag bei 210 zeigt zum Beispiel vier Punkte, die den ersten vier Primzahlen entsprechen. Vier Punkte finden sich aber auch bei 2 · 5 · 7 · 11 = 770.
Produkte von Primzahlen spielen im Beweis von Euklid eine Schlüsselrolle. Die Zahl n# + 1 ist durch keine Primzahl kleinergleich n teilbar. Folglich sind alle Primfaktoren dieser Zahl größer als n. Das Gleiche gilt auch für n! + 1 anstelle von n# + 1, aber die Primzahlfakultät ist im Allgemeinen wesentlich kleiner als die Fakultät von n. Unser Ergebnis über die Größenabschätzung der nächsten Primzahl können wir nun so angeben:
Satz (Größenabschätzung für die nächste Primzahl, Neuformulierung)
Für alle n ≥ 1 sei pn die n-te Primzahl. Dann gilt für alle n ≥ 1:
pn < pn + 1 ≤ pn# + 1.