Primzahlfilter

Aus ProgrammingWiki
Archivierte Version vom 2010-10-11T08:24:40+00:00. Aktuelle Version

Zunächst soll unser Filter an einer generierten Liste natürlicher Zahlen getestet werden:

<eval id="4b1118006b030"> (my-filter ungerade? (natzahlliste 50)) </eval>

In einer ersten Idee müsste der Primzahlprüfer die Teilbarkeit der Zahl n durch alle Vorgänger prüfen und als Teiler nur die 1 finden.
Nach weiterführenden Überlegungen kann die Suche aber auf ungerade Teiler bis \sqrt{n} beschränkt werden:

Hinweis: Mit letrec lassen sich lokale rekursive Datenstrukturen definieren.

<eval id="4b112117825f1"> (my-filter primzahl? (natzahlliste 100)) </eval>

Interessante Untersuchungen lassen sich an Listen mit zufälligen natürlichen Zahlen vornehmen:

<eval id="4b112718aef77"> (my-filter primzahl? (zufallsliste 1000 100)) </eval>

Zurück zu Prozeduren höherer Ordnung (I).