algorytm.org

Implementacja w Delphi/Pascal



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Generator Park-Miller - Implementacja w Delphi/Pascal
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
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.
Dodaj komentarz