Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Генератор случайных чисел - с ислючениями
 
 автор: pink monster   (16.06.2006 в 00:04)   письмо автору
 
 

У меня такая задача, надо чтобы генерировалось случайное число из заранее известного диапозона, но с исключениями. Например чтобы генерировалось число от 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;
        };
    };

Наверняка эту задачу можно решить куда эффективней, но только как?
Мне что-о ничего не приходит в голову =( , подскажите пожалуйсто.

   
 
 автор: ЯR   (16.06.2006 в 02:27)   письмо автору
 
   для: pink monster   (16.06.2006 в 00:04)
 


<?php
$a 
file("data/povtory.txt"); // на каждой строчке файла по одному числу, которое не подходит 

$rnd rand(0,15);

while(
in_array($rnd$a)){
    
$rnd rand(0,15);
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования