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.c:
//generowanie liczb pseudolosowych
//generator Park-Miller
//www.algorytm.org (c) 2008 Tomasz Lubinski
#include "stdio.h"
/* Definicja wspolczynnikow a oraz m */
/* Dla tych wartosci wynik zawsze miesci sie w 46 bitach */
#define A 16807
#define M 0x7FFFFFFFul /* 2^31-1 */
unsigned long long x;
/* Generator Park-Miller */
unsigned long long genRand()
{
x = (A*x) % M;
return x;
}
int main()
{
int j, n;
printf("Podaj wartosc poczatkowa ziarna (seed)\n");
scanf("%Ld", &x);
printf("Podaj ile liczb pseudolosowych wylosowac\n");
scanf("%d", &n);
for (j=0; j<n; j++)
printf("%Ld\n", genRand());
return 0;
}