06.01.2012, 10:17
|
#131
|
Пущен по доске
Polski Knight
Регистрация: 17.10.2008
Адрес: Mazovia, Polska Любимые ОС: Linux-Based
Сообщений: 2,161
|
Re: Новогодняя Лотерея: 20+12!
|
Charles Wayne, зачем писать написанное? о.О функция rand() уже существует, я всего-лишь отсеял возможность генерации уже имеющихся чисел.
Допустим для билета Х сгенерировано число N, значит N не может больше быть сгенерировано для других билетов. (notAllowed[N] = true);
А вот сама генерация:
Попытка 1:
PHP код:
// фёрст генерейшен int num = rand() % cnt + 1;
Если попала в нот алловед - перебираем, пока не будет notAllowed[N] = false;
Из-за малого количества чисел (32) такое допустимо, но использовать данный метод, скажем с 5000000 числами - не разумно.
PHP код:
// пока не встретим доступное число, пробуем // ну да, не рационально, но я не нашел другого способа while(notAllowed[num]) { num = (rand()%cnt+1); }
|
|
|
|