<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Sieb_des_Eratosthenes</id>
	<title>Sieb des Eratosthenes - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://demowiki.knowlus.com/index.php?action=history&amp;feed=atom&amp;title=Sieb_des_Eratosthenes"/>
	<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Sieb_des_Eratosthenes&amp;action=history"/>
	<updated>2026-04-09T18:58:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Demo Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://demowiki.knowlus.com/index.php?title=Sieb_des_Eratosthenes&amp;diff=11156&amp;oldid=prev</id>
		<title>imported&gt;Horst Gräbner: Änderungen von ~2025-69413-1 (Diskussion) auf die letzte Version von Aka zurückgesetzt</title>
		<link rel="alternate" type="text/html" href="https://demowiki.knowlus.com/index.php?title=Sieb_des_Eratosthenes&amp;diff=11156&amp;oldid=prev"/>
		<updated>2025-09-23T07:42:21Z</updated>

		<summary type="html">&lt;p&gt;Änderungen von &lt;a href=&quot;/index.php?title=Spezial:Beitr%C3%A4ge/~2025-69413-1&quot; title=&quot;Spezial:Beiträge/~2025-69413-1&quot;&gt;~2025-69413-1&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:~2025-69413-1&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:~2025-69413-1 (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) auf die letzte Version von &lt;a href=&quot;/index.php?title=Benutzer:Aka&quot; title=&quot;Benutzer:Aka&quot;&gt;Aka&lt;/a&gt; zurückgesetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Das &amp;#039;&amp;#039;&amp;#039;Sieb des Eratosthenes&amp;#039;&amp;#039;&amp;#039; ist ein [[Algorithmus]] zur Bestimmung einer Liste oder Tabelle aller [[Primzahl]]en kleiner oder gleich einer vorgegebenen Zahl. Es ist nach dem griechischen [[Mathematiker]] [[Eratosthenes]]  benannt. Allerdings hat Eratosthenes, der im 3. Jahrhundert v. Chr. lebte, das Verfahren nicht entdeckt, sondern nur die Bezeichnung „Sieb“ für das schon lange vor seiner Zeit bekannte Verfahren eingeführt.&lt;br /&gt;
&lt;br /&gt;
Es ist das einfachste Beispiel von in der [[Analytische Zahlentheorie|analytischen Zahlentheorie]] verwendeten ausgefeilten Methoden der [[Siebtheorie]] (zum Beispiel von [[Adrien-Marie Legendre]], [[Viggo Brun]], [[Atle Selberg]], [[Alfred Renyi]], [[Pál Turán]], [[Juri Linnik]], [[Klaus Friedrich Roth]], [[Enrico Bombieri]], [[Askold Winogradow]], [[John Barkley Rosser]], [[Hugh Montgomery (Mathematiker)|Hugh Montgomery]], [[John Friedlander]], [[Henryk Iwaniec]], [[Roger Heath-Brown]]).&amp;lt;ref&amp;gt;George Greaves,&amp;#039;&amp;#039;Sieves in Number Theory&amp;#039;&amp;#039;, Springer 2001&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[[Heini Halberstam]], [[Hans-Egon Richert]]: &amp;#039;&amp;#039;Sieve Methods&amp;#039;&amp;#039;, London Mathematical Society Monographs 4, Academic Press 1974&amp;lt;/ref&amp;gt; Der erste Schritt war die Verbesserung bzw. Umformulierung von Eratosthenes’ Sieb durch Legendre mit Hilfe der [[Möbiusfunktion]] mit zugehöriger Legendre-Identität und der Anfang moderner Siebmethoden war dessen Verbesserung durch Brun 1915.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
[[Datei:Animation Sieb des Eratosthenes Überarbeitet.gif|mini|300px|Basisverfahren: Es werden alle Vielfachen einer Primzahl markiert.]]&lt;br /&gt;
Zunächst werden alle Zahlen 2, 3, 4, … bis zu einem frei wählbaren Maximalwert S aufgeschrieben. Die zunächst unmarkierten Zahlen sind potentielle Primzahlen. Die kleinste unmarkierte Zahl ist immer eine Primzahl. Nachdem eine Primzahl gefunden wurde, werden alle [[Vielfaches|Vielfachen]] dieser Primzahl als [[Zusammengesetzte Zahl|zusammengesetzt]] markiert. Man bestimmt die nächstgrößere unmarkierte  Zahl. Da sie kein Vielfaches von Zahlen kleiner als sie selbst ist (sonst wäre sie markiert worden), kann sie nur durch eins und sich selbst teilbar sein. Folglich muss es sich um eine Primzahl handeln. Diese wird dementsprechend als Primzahl ausgegeben. Man streicht wieder alle Vielfachen und führt das Verfahren fort, bis man am Ende der Liste angekommen ist. Im Verlauf des Verfahrens werden alle Primzahlen ausgegeben.&lt;br /&gt;
&lt;br /&gt;
Da mindestens ein Primfaktor einer zusammengesetzten Zahl immer kleiner gleich der [[Quadratwurzel|Wurzel]] der Zahl sein muss, ist es ausreichend, nur die Vielfachen jener Primzahlen zu streichen, die kleiner oder gleich der Wurzel der Schranke S sind.&lt;br /&gt;
&lt;br /&gt;
Ebenso genügt es beim Streichen der Vielfachen, mit dem [[Quadratzahl|Quadrat]] der Primzahl zu beginnen, da alle kleineren Vielfachen bereits markiert sind.&lt;br /&gt;
&lt;br /&gt;
Das Verfahren beginnt also damit, die Vielfachen 4, 6, 8, … der kleinsten Primzahl 2 durchzustreichen. Die nächste unmarkierte Zahl ist die nächstgrößere Primzahl, die 3. Anschließend werden deren Vielfache 9, 12, 15, … durchgestrichen, und so weiter.&lt;br /&gt;
&lt;br /&gt;
== Demonstration ==&lt;br /&gt;
Verfahren, wie die Primzahlen zwischen 2 und 120 ermittelt werden:&lt;br /&gt;
Erst werden alle Vielfachen von 2 gestrichen, dann alle Vielfachen von 3, 5, und 7. Die Markierungen beginnen jeweils mit dem Quadrat der Primzahl: 4, 9, 25, 49. Da bereits 11&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; = 121 nicht mehr im Wertebereich liegt, werden ab 11 keine zusammengesetzten Zahlen mehr markiert; alle noch unmarkierten Zahlen sind prim.&lt;br /&gt;
&lt;br /&gt;
== Implementierung ==&lt;br /&gt;
Eine beispielhafte [[Implementierung]] des Algorithmus als [[Pseudocode]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
 const N = 10000&lt;br /&gt;
 var gestrichen: array [2..N] of boolean&lt;br /&gt;
&lt;br /&gt;
 // Initialisierung des Primzahlfeldes&lt;br /&gt;
 // Alle Zahlen im Feld sind zu Beginn nicht gestrichen&lt;br /&gt;
 for i = 2 to N do&lt;br /&gt;
     gestrichen[i] = false&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
 // Siebe mit allen (Prim-) Zahlen i, wobei i der kleinste Primfaktor einer zusammengesetzten&lt;br /&gt;
 // Zahl j = i*k ist. Der kleinste Primfaktor einer zusammengesetzten Zahl j kann nicht größer&lt;br /&gt;
 // als die Quadratwurzel von j &amp;lt;= n sein.&lt;br /&gt;
 for i = 2 to sqrt(N) do&lt;br /&gt;
     if not gestrichen[i] then&lt;br /&gt;
         // i ist prim, gib i aus...&lt;br /&gt;
         print i;&lt;br /&gt;
         print &amp;quot;, &amp;quot;;&lt;br /&gt;
         // ...und streiche seine Vielfachen, beginnend mit i*i&lt;br /&gt;
         // (denn k*i mit k&amp;lt;i wurde schon als Vielfaches von k gestrichen)&lt;br /&gt;
         for j = i*i to N step i do&lt;br /&gt;
             gestrichen[j] = true&lt;br /&gt;
         end&lt;br /&gt;
     end if&lt;br /&gt;
 end&lt;br /&gt;
 // Gib die Primzahlen größer als Wurzel(n) aus - also die, die noch nicht gestrichen wurden&lt;br /&gt;
 for i = sqrt(N)+1 to N do&lt;br /&gt;
     if not gestrichen[i] then&lt;br /&gt;
         // i ist prim, gib i aus&lt;br /&gt;
         print i; &amp;quot;, &amp;quot;;&lt;br /&gt;
     end if&lt;br /&gt;
 end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Animation schnell - Sieb des Eratosthenes.gif|mini|445px|Optimiertes Verfahren: Es werden &amp;#039;&amp;#039;nur die bisher nicht markierten&amp;#039;&amp;#039; Vielfachen einer Primzahl markiert]]&lt;br /&gt;
Das Verfahren lässt sich optimieren, wenn nur die ungeraden Zahlen darin abgespeichert werden. Generell kann man zu einem (kleinen) Produkt von (Prim)zahlen die möglichen Primzahlen bestimmen. Das Sieben muss dann nur auf das Vielfache dieser Zahlen angewendet werden. Im Beispiel besteht jede Zeile aus 10 = 2*5 Einträgen. Man kann erkennen, dass die Vielfachen von 2, 4, 5, 6, 8, 10 in den darunter liegenden Zeilen nicht betrachtet werden müssen, da sie als Vielfache von 2 bzw. 5 nicht als Primzahlen in Fragen kommen. Diese Vielfachen sind als vertikale Linien erkennbar.&lt;br /&gt;
Es gibt effizientere Verfahren als das Sieb des Eratosthenes (z.&amp;amp;nbsp;B. das [[Sieb von Atkin]]).&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* [[Hans Magnus Enzensberger]]: &amp;#039;&amp;#039;Der Zahlenteufel. Ein Kopfkissenbuch für alle, die Angst vor der Mathematik haben.&amp;#039;&amp;#039; Hanser, München u. a. 1997, ISBN 3-446-18900-9.&lt;br /&gt;
* [[Kristin Dahl]], [[Sven Nordqvist]]: &amp;#039;&amp;#039;Zahlen, Spiralen und magische Quadrate. Mathe für jeden.&amp;#039;&amp;#039; Oetinger, Hamburg 2007, ISBN 978-3-7891-7602-9.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
{{Wikibooks|Primzahlen: Programmbeispiele|Quellcode des Algorithmus in verschiedenen Programmiersprachen}}&lt;br /&gt;
* [http://www-i1.informatik.rwth-aachen.de/~algorithmus/algo25.php Ausführliche Erläuterung mit Animation] (Java-Applet)&lt;br /&gt;
* [http://www.hbmeyer.de/eratosib.htm Interaktive Animation] (erfordert JavaScript)&lt;br /&gt;
* [http://www.primzahlen.de/primzahltests/sieb_des_eratosthenes.htm Sieb des Eratosthenes – mit der Streichliste]&lt;br /&gt;
* {{TIBAV |19867 |Linktext=Sieb des Eratosthenes |Herausgeber=PHHD |Jahr=2012 |DOI=10.5446/19867}}&lt;br /&gt;
* [http://devalco.de/#106 Primzahlsiebkonstruktionen über quadratische, irreduzible Polynome]&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Zahlentheoretischer Algorithmus]]&lt;br /&gt;
[[Kategorie:Primzahl]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Horst Gräbner</name></author>
	</entry>
</feed>