Agatov
Новичок
Генерация N различных случайных чисел в заданном диапазоне
Алгоритм такой
Правилен ли он? Сомнения возникли потому, что при $M=2 и $N=3, например, возможны ситуации, когда скрипт "подвисает", т.е. генерирует заново одно и то же число раз 50.
Алгоритм такой
PHP:
$M = 5;
$N = 100;
$array = array();
for($i=1; $i <= $M; $i ++)
{
$rand = mt_rand(1, $N);
// Проверяем число на уникальность
$c = count($array);
for($j=0; $j < $c; $j ++)
{
// Если такое число уже было
if($rand == $array[$i])
{
// Генерируем новое случайное число
$rand = mt_rand(1, $N);
// обнуляем счётчик вложенного цикла. И проводим проверку заново.
$j = 0;
}
}
// Если проверка пройдена, то добавляем число в массив
$array[] = $rand;
}
Правилен ли он? Сомнения возникли потому, что при $M=2 и $N=3, например, возможны ситуации, когда скрипт "подвисает", т.е. генерирует заново одно и то же число раз 50.