algorytm.org

Implementacja w C/C++



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 C/C++
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.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;
}
Dodaj komentarz