Er kann ja nach dem Intervallhalbierungsverfahren vorgehen.
D.h. es muss ein Intervall geben, in dem die Zufallszahl liegt. z.B. 0-1000
Delphi-Quellcode:
IntervalHigh := 1000;
IntervalLow := 500;
Dann nimmt er die Zahl in der Mitte
Geraten:=Trunc((IntervalHigh-IntervalLow)/2);
Jetzt testet er auf kleiner oder größer und setzt die Oberbzw. untergrenze neu.
Delphi-Quellcode:
if zugroß then
IntervalHigh:=Geraten
else if zuklein then
IntervalLow:=Geraten;
Dann fängst du wieder oben an(also bei Geraten:=)
Ich würde keine Rekursion verwenden, ich sehe da an dieser Stelle keinen Vorteil drin.