|
|
|||||
Регистрация: Oct 2009
Сообщений: 53
|
Случайное число.
Подскажите умный ответ на глупый вопрос =)
Как наиболее оптимально сгенерить случайное число от 1 до 28? Добавлено через 13 минут У меня есть мысль что но почемуто она мне кажется неверной. |
|
|||||
Регистрация: Feb 2009
Сообщений: 1,195
|
Вам только кажется.
|
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
если целое - то не верно
для целого рандомного от 1 до 28 (включительно) |
|
|||||
[+]
|
Ну если тебе нужно целое то нужно так
а в твоем примере 28 нужно заменить на 27 |
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
Math.round(Math.random()*27) - это не совсем рандом..
числа 0 и 27 будут выдаваться в 2 раза реже чем все остальные. |
|
|||||
Регистрация: Oct 2009
Сообщений: 53
|
А как сделать совсем рандом?
|
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
|
|
|||||
Регистрация: Oct 2009
Сообщений: 53
|
Так а почему крайние значения в 2 раза реже выпадают?
|
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
Math.round(Math.random()*27)
Math.random()*27 возвращает число от 0 до 27 с плавающей точкой каждое с одинаковой частотой функция Math.round переводит таким образом. 0-0.5 -> 0 (частота 0.5 / 27) 0.5-1.5 -> 1 (частота 1 / 27) 1.5-2.5 -> 2 (частота 1 / 27) ... 25.5-26.5 -> 26 (частота 1 / 27) 26.5-27 -> 27 (частота 0.5 / 27) |
|
|||||
Регистрация: Oct 2009
Сообщений: 53
|
Спасибо!
И как этого избежать? Хочется ведь чтобы всё было поровну. |
Часовой пояс GMT +4, время: 14:27. |
|
« Предыдущая тема | Следующая тема » |
|
|