Случайные числа
Случайные числа
srand
Производит инициализацию генератора случайных чисел.
Синтаксис:
void srand(int seed)
Инициализирует генератор случайных чисел занчением seed.
srand((double) microtime()*1000000);
$random = rand();
echo $random;
getrandmax
Возвращает максимально возможное случайное число.
Синтаксис:
int getrandmax()
Эта функция возвращает максимальное значение, которое можно получить при помощи функции генерации случайных чисел rand().
Обычно это 32767
rand
Производит генерацию случайного числа.
Синтаксис:
int rand([int max [, int min]])
При вызове с необязательными параметрами min и max эта функция генерирует случайное число, лежащее в пределах этих параметров включительно.
Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.
Для корректной работы данной функции перед ее использованием нужно проинициализировать генератор случайных чисел функцией srand().
mt_rand
Функция возвращает MT-случайное число, достаточно равномерно даже для того, чтобы использовать его в криптографии.
Синтаксис:
int mt_rand(int $min=0, int $max=RAND_MAX)
Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax()), задайте соответствующий интервал в параметрах $min и $max. Не забудьте только перед первым вызовом этой функции запустить mt_srand().
mt_srand(time()+(double)microtime()*1000000);
$x = mt_rand(1,100); // $x - значение от 1 до 100
mt_srand
Настраивает MT-генератор случайных чисел на новую последовательность.
Синтаксис:
void mt_srand(int seed)
Дело в том, что хотя числа, генерируемые mt_rand(), достаточно равновероятны, но у них есть один нелостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызывать несколько раз подряд. Функция mt_srand() как раз решает данную проблему: она выбирает новую последовательность на основе параметра $seed, причем практически непредсказуемым образом.
mt_srand(time()+(double)microtime()*1000000);
for($i=0;$i<=10;$i++) {
$x = mt_rand(1,10);
};
В этом случае последовательность устанавливается на основе времени запуска сценария (в секундах), поэтому она достаточно непредсказуема. Для еще более надежного результата рекомендуется приплюсовать сюда еще микросекунды (что и было сделано), а также идентификатор процесса, вызывавшего сценарий.
mt_getrandmax
Возвращает максимальное MT-случайное число.
Синтаксис:
int mt_getrandmax()
Возвращает максимальное число, которое может быть сгенерированно функцией mt_rand() - иными словами, константу RAND_MAX
$max = mt_getrandmax();
// $max = 2147483647
lcg_value
функция генерирует случайное дробное число.
Синтаксис:
double lcg_value()
Эта функция возвращает псевдослучайное дробное число в диапазоне от 0 до 1.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 19 Случайные числа
Глава 19 Случайные числа Слово случайный имеет разный смысл для разных программистов в различное время. Для большинства приложений оказываются достаточно эффективными псевдослучайные числа, предусмотренные библиотекой С. Благодаря тому, что псевдослучайные числа
1. Числа
1. Числа А сейчас, когда вы всё установили, давайте напишем программу! Откройте ваш любимый текстовый редактор и наберите на клавиатуре следующее:puts 1+2Сохраните вашу программу (да, это программа!) под именем calc.rb (.rb – это то, что мы обычно пишем в конце имени программы,
5.11. Комплексные числа
5.11. Комплексные числа Стандартная библиотека complex предназначена для работы с комплексными числами в Ruby. Большая ее часть не требует пояснений.Для создания комплексного числа применяется следующая несколько необычная нотация:z = Complex(3,5) # 3+5iНеобычно в ней то, что имя метода
Глава 3 Числа
Глава 3 Числа 3.0. Введение Даже если вы не занимаетесь написанием научных или инженерных приложений, вам все равно придется работать с числами. Эта глава содержит решения проблем, часто возникающих при работе с числовыми типами С++.Некоторые из рецептов содержат методики
1. Случайные числа
1. Случайные числа Генерация случайного числа Можно сделать из этого настоящую головоломку: написать программу, выполнение которой на компьютере дает число, случайным образом расположенное в данном интервале, например, между 0 и 1. Но это невозможно.Некоторые языки
Простые числа
Простые числа ??** Головоломка 16. Чемпион головоломок.На мой взгляд, наиболее замечательная арифметическая головоломка, над которой мне пришлось особенно долго работать и которая дала мне возможность получить некоторые удовлетворительные результаты, — это, конечно,
1. Случайные числа
1. Случайные числа Упражнение 2.Нужно изучить поведение дробной части (x + a)8, когда x меняется от 0 до 1. Нарисуйте, хотя бы приближенно, кривую, представляющую эту функцию. Рассмотрите интервал на оси x, в котором значение функции меняется от некоторого целого числа до
1. Случайные числа
1. Случайные числа Головоломка 1.Первая стратегия. Нужно сравнить u2i и ui. Они равны, если 2i = i + kp для целого k, следовательно, если i делится на p. Кроме того, i должно превосходить r. Следовательно, нужно искать наименьшее кратное p, большее или равное r.Положим vi = u2i. Тогдаvi+1 = u2i+2 =
Двоичные числа
Двоичные числа В основе способа, который мы обычно используем для записи чисел, лежит число 10. Может быть, вы когда-то слышали, что число 3652 имеет 3 в позиции тысяч, 6 в позиции сотен, 5 в позиции десятков и 2 в позиции единиц. Поэтому мы можем представить число 3652 в виде3 ? 1000 + 6 ?
ТЕХНОЛОГИИ: Случайные связи
ТЕХНОЛОГИИ: Случайные связи Автор: Павел ПротасовСто тридцать лет назад, 10 марта 1876 года, преподаватель школы для глухих Александр Грэхем Белл изобрел телефон. Это случилось во время поиска способа передачи нескольких телеграфных сообщений по одному проводу [Ближайший
У11.1 Комплексные числа
У11.1 Комплексные числа Напишите спецификацию АТД для класса COMPLEX, описывающую понятие комплексных чисел с арифметическими операциями. Исходите из точной