Какую формулу можно подобрать? Необходимо сгенерировать случайное число от 0 до 1
Но так, что бы чем больше число, тем больше вероятность его появления.
Что бы 0.8 выпадало с вероятностью 80%, 0.1 с вероятностью 10% и т.д.
Как это можно сделать?
Очевидно, если просто сгенерировать случайное число от 0 до 1, то будь на выходе 0.02 или 0.92 - вероятность их появления одинакова.
p.s. Пока придумал очень дубовый вариант: создать массив, загнать туда восемь восьмерок, десять десяток и так далее, перемешать и ткнуть случайным образом в один из элементов.

21 Авг 2019 в 06:09
181 +1
0
Ответы
1

Вы можете воспользоваться методом обратной функции распределения для генерации случайных чисел с увеличивающейся вероятностью. Для этого можно воспользоватся следующей формулой:

Сгенерируйте случайное число r от 0 до 1.Вычислите число x по формуле x = sqrt(r), где sqrt - функция извлечения квадратного корня.

Таким образом, чем больше значение r (и, следовательно, x), тем больше вероятность, что будет сгенерировано число ближе к 1.

20 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 888 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир