Guliash's blog

By Guliash, 11 years ago, In Russian

Опишите реализацию процедуры Random(a,b), которая может использовать только один вызов — процедуры Random(0,1). Чему равно математическое ожидание времени работы вашей реализации и как оно зависит от a и b?
Random(0,1) — 50% вернёт 0, и 50 % вернёт 1.
Random(a,b) — с вероятностью 1/(b-a+1) вернёт число из интервала [a,b].
Гугл показывает реализации с побитовым (Random(0,1)) заполнением числа. Но многие из них у меня вызвали сомненния (одна выходит за интервал, другая показалась неравновероятной).

  • Vote: I like it
  • +5
  • Vote: I do not like it