Я пытаюсь сгенерировать случайное число и с вероятностью x% приблизиться к максимальному значению.
Проблема в том, что я понятия не имею, как это сделать, если я не сделаю некоторые шаги?
Допустим, я сгенерирую случайное число от 1 до 3000.
$number = mt_rand(1, 3000)
Это вернет 2700, например. Я хотел бы, чтобы это было ближе к 1, чем 3000.
Как мне реализовать функцию, у которой будет только 10% шанс приблизиться к 3000?
На основании комментариев к вопросу вы можете использовать mt_rand
функционировать дважды. Во-первых — проверить, должно ли это быть 90% (где значение является случайным от 1 до 100), а если нет — это остальные 10%, где значение является случайным из 1-3000:
$number = mt_rand(0, 9) == 0 ? mt_rand(1, 3000) : mt_rand(1, 100);
Других решений пока нет …