HELP
- From
- Max Alekseyev (2:5015/60)
- To
- Ianos Gnatiuc
- Date
- 2002-10-08T14:49:10Z
- Area
- RU.ALGORITHMS
████ OS/2 Hi, Ianos !
Replying to a message of Ianos Gnatiuc to Viktor Karev:
IG> inline DWORD irand()
IG> {
IG> iholdrand *= 214013;
IG> iholdrand += 2531011;
IG> return iholdrand;
IG> }
Где такой irand() используется? В каком-то рантайме или самопальный?
[...]
IG> кстати, кто может объяснить, почему rand не повторяется пока не
IG> пройдет через все возможные 32 битные значения?
В Кнута есть такая теорема:
Длина периода линейной конгруэнтной последовательности (т.е. последовательности, вида X = (a*X+c) % m) равна m тогда и только тогда, когда:
1. НОД(c,m) = 1 (т.е. c и m взаимно просты)
2. b=a-1 кратно p для всех простых p - делителей m
3. b кратно 4, если m кратно 4
Regards, °°
Max ~
--- FleetStreet 1.27.3.8
* Origin: (2:5015/60)