\(\displaystyle{ n_1 = random(n)}\)
\(\displaystyle{ random(n)}\) produkuje liczby od \(\displaystyle{ 0}\) do do \(\displaystyle{ n-1}\), czyli zawsze mniejsze od \(\displaystyle{ n}\), i z rozkładem równomiernym.
Potem to kontynuujemy ale już od: \(\displaystyle{ n = n_1...}\) aż do \(\displaystyle{ n = 0}\);
Zatem procedura wygląda tak:
Kod: Zaznacz cały
n = n_0; // wartość startowa np. [latex]n_0 = 10000[/latex]
k = 0; // liczba przejść - wywołań random
repeat
n = random(n);
k++; // liczba wywołań random
until n = 0; // koniec
print k;