Как сгенерировать случайное число, чем больше число — тем меньше шанс?

Нужно сгенерировать случайное число в определенном диапазоне, при этом шанс на большее число должен быть меньшим (Чем больше число - тем меньше шанс его выпадения)
  • Вопрос задан
  • 408 просмотров
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Если перемножить два случайных числа, то вы получите уже не линейное распределение, а распределение Пирсона.


Можно поиграться с циферками добавляя какие-то коэффициенты.
Ответ написан
Комментировать
catanfa
@catanfa
просто в цикле от 1 до вашего максимума генерируйте либо 0 либо 1 случайно. Если выпал 1, то продолжайте цикл. Если выпал 0, то останавливайте цикл. Результатом будет текущая итерация цикла. Таким образом, вероятность каждого большего числа уменьшается.
Ответ написан
Комментировать
@shedevralmusic
Смотри есть 2 случайных числа, первое - х, второе - а.
х = от 1 до 100, а = от 1 до х
Далее число х делится на число а, всë)
Пример
х = 30, тогда число а = 1 - 30, допустим 15
30/15=2
Шанс числа Х на любое случайное число равен 1%, а шанс числа А зависит от числа Х
Выходит шанс на число 1 = 50%, число 2 = 25%, число 100 = 1%, число 50 = 2%
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы