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 - cs/Class1.cs:
//generowanie liczb pseudolosowych
//generator Park-Miller
//www.algorytm.org (c) 2008 Tomasz Lubinski
using System;
namespace Park_Miller
{
/// <summary>
/// generowanie liczb pseudolosowych
/// generator Park-Miller
/// www.algorytm.org (c) 2008 Tomasz Lubinski
/// </summary>
class Class1
{
/* Definicje wspolczynnikow a oraz m */
/* Dla tych wartosci wynik zawsze miesci sie w 46 bitach */
private const ulong m = ((ulong)2 << 30)-1; /* 2^31-1 */
private const ulong a = 16807;
private static ulong x;
/* Generator Park-Miller */
public static ulong genRand()
{
x = (a*x) % m;
return x;
}
/// <summary>
/// generowanie liczb pseudolosowych
/// generator Park-Miller
/// </summary>
[STAThread]
static void Main(string[] args)
{
int ii, n;
Console.WriteLine("Podaj wartosc ziarna (seed)");
x = ulong.Parse(Console.ReadLine());
Console.WriteLine("Podaj ile liczb pseudolosowych wylosowac");
n = int.Parse(Console.ReadLine());
for (ii=0; ii<n; ii++)
Console.WriteLine(genRand());
}
}
}