Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Конгруентные генераторы ПСЧ modulo 2^n 22.11.03 13:03 Число просмотров: 3859
Автор: RElf <M> Статус: Member
|
> Где можно найти примеры генераторов по модулю 2^n, > которые не требуют деления и взятия остатков как таковых?
По модулю 2^n подходит любой конгруэнтный генератор. Благо взятие остатка по модулю 2^n - тривиальная операция, не требующая деления.
> На 32-bit я знаю такую ягодку: > iran=1664525*iran+1013904223; > Естественно, пробегает все 4G значений, включая ноль.
Подобных ягодок - целое поле ;-)
Теорема:
Длина периода линейной конгруэнтной последовательности (т.е. последовательности, вида X=(a*X+c)% m) равна m тогда и только тогда, когда:
1. HОД(c,m) = 1 (т.е. c и m взаимно просты)
2. b=a-1 кратно p для всех простых p - делителей m
3. b кратно 4, если m кратно 4
|
|
|