Das Sieb des Eratosthenes

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Das Sieb des Eratosthenes

Der griechische Mathematiker, Geograph, Philosoph, Philologe und Dichter Eratosthenes von Kyrene (* zwischen 276 und 273 v. Chr.; † um 194 v. Chr.) war der erste Gelehrte der Antike, der durch eine wissenschaftlich fundierte Messung den Umfang der Erde mit erstaunlicher Genauigkeit bestimmt hat.
Auf ihn geht aber auch ein interessanter Algorithmus zur Bestimmung aller Primzahlen zurück.

Algorithmus

  • Notiere die natürlichen Zahlen, beginne mit .
  • Unterstreiche die und streiche alle Vielfachen von .
  • Unterstreiche die erste freie Zahl (in diesem Falle die Zahl ) und streiche deren Vielfachen.
  • Verfahre mit allen weiteren freien Zahlen ebenso.
  • Alle unterstrichenen Zahlen sind Primzahlen.

Lösungsidee

  • Belege ein eindimensionales Feld (Array) mit ganzen Zahlen. Beginne mit der .
  • Setze die Vielfachen jedes der von Null verschiedenen Feldelemente auf Null. Beginne ebenfalls bei .
  • Gib nur die Feldelemente aus, die von Null verschieden sind.

Implementation

 

Quelltext überprüfen:

Aufgaben

  1. Diskutieren Sie ausführlich, ob sich der intuitive Algorithmusbegriff auf das "Sieb des Eratosthenes" anwenden lässt.
  2. Untersuchen Sie die Effizienz Ihrer Implementation.
Persönliche Werkzeuge