Forum Webscript.Ru

Программирование => PHP => Тема начата: Lion от 01 Ноября 2001, 22:39:30

Название: Генератор случайных чисел
Отправлено: Lion от 01 Ноября 2001, 22:39:30
Приведите пример сабжа, генерировать нужно в определенном диапазоне, скажем от a до b...
Название: Генератор случайных чисел
Отправлено: Макс от 01 Ноября 2001, 23:15:50
Если речь идет о массивах то есть array_rand()
А еще есть функция rand():
int rand ([int min [, int max]])

думаю из ее описания понятно как генерить случайные числа в диапазное (min,max)
Название: Генератор случайных чисел
Отправлено: Lion от 01 Ноября 2001, 23:42:29
Цитировать
А еще есть функция rand():
int rand ([int min [, int max]])


Вот пытаюсь написать что то такое:

$q = rand(1, 5);
echo $q;

Оно единичку генерит и все :( А я хочу что б от единички до пяти и в случайном порядке...
Название: Генератор случайных чисел
Отправлено: DimovD от 01 Ноября 2001, 23:56:15
проинициализировать надо бы...

srand((double)microtime()*1000000);
$q = rand(1, 5);
echo $q;
Название: Генератор случайных чисел
Отправлено: Britva от 02 Ноября 2001, 00:00:05
Если srand со случайным числом не использовать, то будут генерироваться числа всегда в одном и том же порядке, т.е. 1 5 2 4 3 5 (например). и при следующем запуске скрипта будет тоже самое.
Название: Генератор случайных чисел
Отправлено: Admin q3 от 02 Ноября 2001, 02:22:30
Я вот так делаю
mt_srand((double)microtime()*1000000);
   $bannum = mt_rand( $numb1, $numb2);
echo "
ВАШЕ ЧИСЛО = $bannum
";
?>

Пример http://1forum.khv.ru/gen/
Название: Генератор случайных чисел
Отправлено: Lion от 02 Ноября 2001, 07:40:15
Цитировать
mt_srand((double)microtime()*1000000);

Что оно делает ?
Название: Генератор случайных чисел
Отправлено: Britva от 02 Ноября 2001, 09:57:20
Запускает генератор Мерсена Твистера :)
в мануале сказано, что он лучше, чем rand/srand
Название: Генератор случайных чисел
Отправлено: Lion от 02 Ноября 2001, 13:40:14
Цитировать
Запускает генератор Мерсена Твистера  
в мануале сказано, что он лучше, чем rand/srand

Да я читал...
А еще вопрос, какая связь между mt_srand((double)microtime()*1000000); и
$q = mt_rand( $numb1, $numb2); ?
Название: Генератор случайных чисел
Отправлено: Britva от 02 Ноября 2001, 13:51:28
srand устанавливает начальное значение (не в буквальном смысле), от к-рого будут генерироваться все случайные числа.
Таким образом можно использовать, например, в шифровании. Надо только знать начальное зн-е.
srand(случайное) гарантирует, что все последующие числа будут случайными точно