Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
ka3ant1p

математика рандома

функция random выбирает рандомно число от 0 до того что я укажу. Как можно делать рандом не от 0 ?
функция max или min тут не подходит т.к.:

при выборе скажем от 50 до 100 у каждого числа фактически 2% шанс выпадения
если делать (random 100) max 50; то получится что шанс что в результате получим 50 будет 50%, т.к. любое число которое рандом выбросит < 50 автоматически станет 50.

пробовал делать так еще:

((random 100) + 50) min 100;  в таком варианте имеем 50% шанс что в результате получим 100

Вот интересно как сделать рандом  от 50 до 100?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

функция random выбирает рандомно число от 0 до того что я укажу. Как можно делать рандом не от 0 ?

функция max или min тут не подходит т.к.:

 

при выборе скажем от 50 до 100 у каждого числа фактически 2% шанс выпадения

если делать (random 100) max 50; то получится что шанс что в результате получим 50 будет 50%, т.к. любое число которое рандом выбросит < 50 автоматически станет 50.

 

пробовал делать так еще:

 

((random 100) + 50) min 100;  в таком варианте имеем 50% шанс что в результате получим 100

 

Вот интересно как сделать рандом  от 50 до 100?

от 50 до 100, и без нуля.

_random = round(random 49) + 51;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

как оказалось все просто =) Только наверное на ооборот  _random = round(random 51) +49; а то в твоем варианте получается от 52 результат будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

как оказалось все просто =) Только наверное на ооборот  _random = round(random 51) +49; а то в твоем варианте получается от 52 результат будет

В моем варианте, изначально выбирается рандом от 0 до 49(ты же хотел с 1 до 50 - без нуля).

Потом чтобы сбалансировать 0 к 1, надо прибавить 1(т.е. по сути чтобы не выбрало, к этому - надо плюсануть единицу).

Получаем 1-50. И т.к. тебе надо от 50 до 100, то еще +50. Итог: +51.

 

Именно в твоем варианте, от 50 до 100.

Достаточно просто -

_random = round(random 50) + 50;

 

Без нуля от 1 до 50

_random = round(random 49) + 1;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

спасибо =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.