Ocena użytkownikóww: ***** / 1
Nadesłany przez Tomasz Lubiński, 28 września 2008 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Park-Miller - Delphi/Park_Miller.dpr:
//generowanie liczb pseudolosowych
//generator Park-Miller
//www.algorytm.org (c) 2008 Tomasz Lubinski
program Park_Miller;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
// Definicja wspolczynnikow a oraz m
// Dla tych wartosci wynik zawsze miesci sie w 46 bitach
A = 16807;
M = $7FFFFFFF; // 2^31-1
var
x: Int64;
ii, n : Integer;
// Generator Park-Miller
function genRand(): Int64;
begin
x := (A*x) mod M;
result := x;
end;
begin
writeln('Podaj wartosc poczatkowa ziarna (seed)');
readln(x);
writeln('Podaj ile liczb pseudolosowych wylosowac');
readln(n);
for ii:=1 to n do
writeln(genRand());
end.