, ,
- .
, ,
. , , 0..65536,
Low..High, 18..35 .
:
r = (rand() % (High - Low + 1)) + Low
rand() 0..65536.
(High - Low + 1), (35 - 18 + 1 = 18).
0..17. Low (18), , r, 18..35.
.
, , ,
,
rand(). . - Bias.
, , , rand(), (High - Low + 1).
3640 * 18 = 65520.
rand() as
:
do forever {
r = rand()
if r <= 65520 then {
r = (r % (High - Low + 1)) + Low
break
}
}
, rand().