[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Рандомные числа
winglife
Помогите сгенерировать 7 рандомных чисел без повторений
F**k
Да не вопрос:
10 21 42 58 66 74 85


P.S. Если тебе нужен кусок кода – попробуй этот:
$numbers = array_rand(range(1,100), 7);
waldicom
F**k, сразу видно, что у тебя псевдорандомные.
Вот настоящие рандомные числа:
1 2 3 4 5 6 7


_____________
Свои мозги еще никто не отменял.
Телепатов нету.
GET
$ar=array();// массив с числами
$i=0;//счетчик
do//бесконечный цикл
{
$a=rand(0,10000);//генерируем случайное число от 0 до 10 000
if(!in_array($a,$ar))//такого числа еще не было
{
$ar[]=$a;//добавляем новое значение в массив
$i++;//прибавляем к счетчику 1
if($i==7)break;//уже 7 значений - выходим
}

}
while(true);
echo 'Значения: '.implode(',',$ar);


Думаю вот так будет быстрее:

$ar=array();// массив с числами
$i=0;//счетчик
do//бесконечный цикл
{
$a=rand(0,10000);//генерируем случайное число от 0 до 10 000
if(!isset($ar[$a]))//такого числа еще не было
{
$ar[$a]=$a;//добавляем новое значение в массив
$i++;//прибавляем к счетчику 1
if($i==7)break;//уже 7 значений - выходим
}

}
while(true);
echo 'Значения: '.implode(',',$ar);


Можно пожалуй еще с 2 циклами сделать зачем-то.

$ar=array();// массив с числами
$i=0;//счетчик
do//цикл до 7
{
do//вечный цикл
{
$a=rand(0,10000);//генерируем число
if(!in_array($a,$ar))//такого числа еще не было выходим из цикла
{
$ar[]=$a;//добавляем новое значение в массив
break 2;
}
}

while(true);
$i++;
}while($i<7);
echo 'Значения: '.implode(',',$ar);


Не проверял, всё на вскидку.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.