Primzahlfilter
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).