ПредишенСледващото

Генериране на случайни числа, случайни числа в PHP и JavaScript

Технически погледнато, терминът "генератор на случайни числа" - е абсурдно, тъй като самите числа не са случайни. Например, 100 - това е случайно число? А 25? Това, което се има предвид под този термин, тъй като това е, което създава поредица от числа, които се появяват на случаен принцип. Това повдига по-трудно въпрос: каква е последователността на случайни числа? Единственият правилен отговор е: поредица от случайни числа - последователност, в която всички елементи са свързани. Това определение води до парадокс, че всяка последователност може да бъде или случайна или не-случаен принцип, в зависимост от това как се получи тази последователност. Например, следното линия номера
1 2 3 4 5 6 7 8 9 0
е получен чрез отпечатване на горния ред по ред на клавиатурата, по този начин, последователността може да се разглежда като генерира случайно. Но какво, ако можете да получите същата последователност, като номериран топки за тенис от варела. В този случай, е случайно генерирани последователност. Този пример показва, че случайността на последователност зависи от това дали той е получен, а не само по себе си.

Имайте предвид, че последователност от числа, генерирани от компютър, се определя: всеки номер, различен от първия, зависи от предходните номера. Технически това означава, че компютърът може да бъде генериран само от квази-случайна последователност от числа, т.е. В действителност, те не са наистина случайни. Все пак, това е достатъчно за повечето задачи, и такива последователности за простота ще се наричат ​​случайни. Един много интересен метод е разработен от Джон фон Нойман; то често се нарича RMS. При този метод, предишната случаен номер е на квадрат, а след това в резултат на средните числа са разпределени. Например, ако създадете брой от три цифри, както и предишния брой е бил 121, а след това квадратура резултат дава 14641. Изолиране на три средни числа дава следния случаен номер 464. Недостатък на този метод е, че има много кратък период на повторение, наречен цикъл , Поради тази причина, този метод не се използва и днес. Актуални методи за генериране на случайни числа, е значително по-сложно.

Случайни числа в PHP

В PHP, има две групи от функции за работа с случайни числа. Външно те могат да бъдат разграничени от mt_ префикс всички функции на една от групите.

остарели функции
ранд функцията. Тя връща цяло число от нула до RAND_MAX (което се равнява на 32 767). Може да има два незадължителен параметър число - ако те са определени, случайно число от първия параметър на втория.

Srand функцията. Той определя последователността на случайни числа изход от ранд функция. Той има параметър - за различни стойности на този параметър ранд ще произвеждат различни последователности от числа. Srand функция достатъчно, за да предизвика само веднъж, преди всичко разговори ранд функция. Пример за приложение:

Внимание! Започвайки от версия PHP 4.2.0 не е необходимо да се обадите Srand () - PHP прави това автоматично.
getrandmax () функция. Връща максималната стойност на случайни числа (32767).

Подкрепете проекта - споделете линка, благодаря!