Генерация случайного числа с заданной вероятностью

Я хочу сгенерировать случайное число с заданной вероятностью, но я не уверен, как:

Мне нужно число от 1 до 3

num = ceil(rand*3);

но мне нужны разные значения, чтобы иметь разные вероятности генерации, например.

0.5 chance of 1
0.1 chance of 2
0.4 chance of 3

Я уверен, что это просто, но я не могу придумать, как это сделать.

Ответы на вопрос(1)

Ваш ответ на вопрос