Рандом без повтора

faryus

Новичок
Рандом без повтора

Задача такая !
надо сделать число от одного до n но они не должны повторятся...
и всё это в массив
 

SiMM

Новичок
Проблема то в чём? Генерируешь случайное число ([m]mt_rand[/m]), если оно уже было в массиве - повторяешь, если не было - добавляешь к массиву.
 

azamat

Guest
Я использовал такой алгоритм, когда мне надо было забить без повторений случайно массив от 0 до n , числами от 0 до n.
mas - массив чисел от 0 до n по порядку:
PHP:
for ($i=n;$i>=0;$i--)
{
  $k = rand(0,$i);
  $buf = $mas[$i];
  $mas[$i] = $mas[$k];
  $mas[$k] = $buf;
}
Может и криво, но работало:) . Я не знал о shuffle range.
 
Сверху