AuK/Probabilistische Algorithmen SS11/
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Scheme</language>
==Übungen==
1. Implementieren Sie einen Generator für Pseudozufallszahlen nach der Kongruenzmethode.
* <popup name="Lösung"> <code>
(define c 262144)
(define zufallszahlen
(lambda (z)
(let ((a 16807)(b 0))
(if (eq? z 0)
4567
(modulo (+ (* a (zufallszahlen (- z 1))) b) c)))))</code></popup>
2. Erstellen Sie ein probabilistisches Quicksort, welches das Pivotelement zufällig wählt.
* <popup name="Lösung"> </popup>
3. Arbeiten Sie mit dem Primzahltest nach Fermat .
3.1. Teste die Zahlen <math>147, 286 , 313</math> ,und <math>353</math> mit der <math>Basis \ 2</math>
3.2. Teste die Zahlen desweiteren mit <math>Basis \ 3</math>
* <popup name="Lösung"></popup>
[http://www.arndt-bruenner.de/mathe/java/rechnergz.htm Rechner für große Zahlen]