Курсовая работа: Генерирование псевдослучайных чисел на примере создания игры Сапер
while (n != NM);
}
private void Lin()//метод, основанный на использовании линейного
конгруэнтного метода
{
intn = 0;
introw, col;
double a = Convert.ToInt64(Math.Exp((double)5 * Math.Log(7))),
m = Convert.ToInt64(Math.Exp((double)31 * Math.Log(2))) - 1;
int x = 27011989, c = 19;
//расстановка мин
do
{
//для нахождения пвевдослучайного числа Х используется
формула x(k+1)=(a * x(k) + c) mod m
x = (int)((a * x + c) % m);
//находится пвевдослучайный индекс клетки на [0,MR]
row =Convert.ToInt32( Math.Ceiling((double) MR * x / (m-1)));
x = (int)((a * x + c) % m);
//находится пвевдослучайный индекс клетки на [0,MС]
col = Convert.ToInt32(Math.Ceiling((double)MC * x / (m-1)));
if (Pole[row, col] != 9)
{
Pole[row, col] = 9;
n++;
}
}
while (n != NM);
}