Ветеран
Сообщения: 1180
Благодарности: 279
|
Профиль
|
Отправить PM
| Цитировать
Принцип генерации рандома основан на теореме о вычетах. Когда 3 простые математические операции дают очень похожую на случайную последовательность. А именно: умножение, сложение и деление по модулю. rand[i] = (rand[i-1]*A + B) mod C. Есть рекомендации на константы A, B, C. начальное rand[0] обычно задаётся текущим значением секунд при помощи функции Randomize, Каждое послдеующее значение - функцией Random. Функция Random выдаёт целочисленное значение, почти что распределённое по равномерному закону. Чтобы привести его к нужному диапазону, есть 2 способа: random mod diapazon либо random/rand_max*diapazon
|
Отправлено: 19:25, 21-11-2008
| #2
|