- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
# Если вы желаете ограничить диапазон "снизу",
# то просто производите генерацию псевдослучайных чисел в цикле до тех пор,
# пока не получите число большее нижней границы.
FLOOR=200
number=0 # инициализация
while [ "$number" -le $FLOOR ]
do
number=$RANDOM
done
echo "Случайное число, большее $FLOOR --- $number"
Лучше прибавить, а не умножить.
В любом случае придётся ещё отсекать верхние значения...
Умножаешь на два, чтобы получить числа не меньше 2. Получаешь: [2,4,6,8,10,12,14,16,18,20]. Нечётные числа твой генератор не выдаст.
З.Ы. Тред не читаю @ хуйню отвечаю.
Фу, какой башизм. Именно поэтому я за
The FreeBSD operating system provides /dev/urandom for compatibility but the behavior is very different from that of Linux. On FreeBSD, /dev/urandom is just a link to /dev/random and blocks only until properly seeded.
/dev/random and /dev/urandom are also available on Solaris, NetBSD, Tru64 UNIX 5.1B, AIX 5.2 and HP-UX 11i v2.
В любом случае это прыщеблядство. В «Windows» ничего такого нет, для получения (псевдо)случайного числа нужно вызывать отдельную функцию.
Видел срач по поводу использования ГСЧ, встроенного в новые процессоры? Линус разрешил использовать процессорный ГСЧ, когда не хватает прыщеэнтропии, а его оппоненты говорят, что так нельзя, что в процессорах закладки АНБ, ФБР и ЦРУ, все следят.
https://pastebin.com/A07q3nL3
Долистай до самого конца и прочитай диалог SIMPLICIO и SALVIATI.
SALVIATI говорит, что с процессорным ГСЧ ксорить даже псевдослучайные числа нельзя. А вдруг АНБ извлечёт из кэша наши псевдослучайные числа и отдаст их процессорному ГСЧ, чтобы после нашего ксора получился ноль?
Дык надо не ксорить, а подмешивать в сид ГПСЧ криптостойким хешем. Что, в общем-то, все и делают.
while true;
$rnd = $floor = $random;