генератор случайных чисел
Dec. 3rd, 2008 10:18 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
У меня есть генератор случайных чисел, который генерирует случайное не целое число в диапазоне от 0 до 1 (Например, результат работы: 0,58). Используя результат работы такого генератора, мне нужно арифметическими действиями сделать генератор от 1 до 6 (только целые). Операцию округления я использовать могу.
Подскажите, пожалуйста.
Подскажите, пожалуйста.
no subject
Date: 2008-12-03 07:34 pm (UTC)от 0 до 0.1(6) = 1
от 0.1(6) до 0.(3) = 2 и т.д.
стоп, или чисто арифметика - плюс минус умножить?
no subject
Date: 2008-12-03 08:30 pm (UTC)no subject
Date: 2008-12-03 07:37 pm (UTC)no subject
Date: 2008-12-03 07:51 pm (UTC)no subject
Date: 2008-12-03 08:37 pm (UTC)1 — 10 %
2 — 20 %
3 — 20 %
4 — 20 %
5 — 20 %
6 — 10 %
Плохой способ.
я подозреваю
Date: 2008-12-04 07:17 am (UTC)В этом случае
Date: 2008-12-04 07:31 am (UTC)2 — 20 %
3 — 20 %
4 — 20 %
5 — 20 %
6 — 0 %
Плохой способ.
no subject
Date: 2008-12-03 08:29 pm (UTC)Короче говоря,
return (1.0 == (Rnd = Math.random())) ? 6 : (1 + Math.floor(6 * Rnd));
Re
Date: 2008-12-03 08:53 pm (UTC)no subject
Date: 2008-12-03 09:05 pm (UTC)Я именно об этой формуле и говорю, на всякий случай дополняя условием для генераторов, которые дают число не в полуинтервале, а на отрезке.
no subject
Date: 2008-12-03 09:02 pm (UTC)[y] - целая часть от y
тогда 1..6 получаем: v = [1 + x*6]
no subject
Date: 2008-12-03 09:36 pm (UTC)тогда задача не имеет точного решения