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

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

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

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

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

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир