Alexander
Новичок
Генератор случайных чисел - с ислючениями
У меня такая задача, надо чтобы генерировалось случайное число из заранее известного диапозона, но с исключениями. Например чтобы генерировалось число от 0 до 15, но не подходят например 3,7 и 8. Мне ничего лучше не пришло в голову чем поставить условие что если сгенерированное число совпадает с исключениями, то пусть генерируется заново, и заново проверяется. Но это очень загружает систему, когда исключений становитъся много и приходиться много раз снова генерировать число и проверять его. Это выглядит примерно так:
Наверняка эту задачу можно решить куда эффективней, но только как?
Мне что-о ничего не приходит в голову :cry: , подскажите пожалуйсто.
У меня такая задача, надо чтобы генерировалось случайное число из заранее известного диапозона, но с исключениями. Например чтобы генерировалось число от 0 до 15, но не подходят например 3,7 и 8. Мне ничего лучше не пришло в голову чем поставить условие что если сгенерированное число совпадает с исключениями, то пусть генерируется заново, и заново проверяется. Но это очень загружает систему, когда исключений становитъся много и приходиться много раз снова генерировать число и проверять его. Это выглядит примерно так:
Код:
$a = file("data/povtory.txt"); // на каждой строчке файла по одному числу, которое не подходит
$rnd = rand(0,15);
for($i=0; $i<(count($a)-1); $i++){ // Если число есть в массиве $a, то генерируй новое и цикл идет по новой
if (trim($a[$i]) == $rnd){
$rnd = rand(0,15);
$i=0;
};
};
Мне что-о ничего не приходит в голову :cry: , подскажите пожалуйсто.