Véletlen számok generálása, véletlen számok PHP és a JavaScript
Technikailag a „véletlenszám-generátor” - abszurd, hiszen a számok önmagukban nem véletlen. Például a 100 - ez egy véletlen számot? A 25? Ami igazán értjük ezt a kifejezést, mivel ez az, amit létrehoz egy számsor, amely véletlenszerűen jelennek meg. Ez felveti a nehezebb kérdés: mi a sorrend a véletlen számok? Az egyetlen helyes válasz: a sorrend véletlenszerű szám - a sorrend, amelyben minden elem független. Ez a meghatározás vezet az ellentmondás, hogy tetszőleges sorrendben lehet random vagy nem véletlen, attól függően, hogy ez a sorozat érkezik. Például az alábbi sorszámok
1 2 3 4 5 6 7 8 9 0
állítottuk elő, a nyomtatás a felső sorban annak érdekében, a billentyűzet, így a szekvencia nem tekinthető véletlenszerűen generált. De mi van, ha kap ugyanabban a sorrendben, figyelembe számozott labda az egyik hordóból. Ebben az esetben, ez a véletlenszerűen generált szekvencia. Ez a példa azt mutatja, hogy a véletlenszerűség a szekvencia attól függ, hogy érkezett, és nem önmagában.
Vegye figyelembe, hogy egy számsor számítógép generálta, határozzuk meg: minden szám más, mint az első, attól függ, hogy az előző számokat. Technikailag ez azt jelenti, hogy a számítógép csak által generált kvázi-véletlenszerű számsorozatot, azaz sőt, ezek nem valódi véletlen. Azonban ez is elég, a legtöbb feladatot, és az ilyen szekvenciák az egyszerűség fogják hívni véletlenszerűen. Egy nagyon érdekes módszert fejlesztett ki Neumann János; gyakran nevezik RMS. Ebben az eljárásban az előző véletlen számot négyzetre, majd az eredményt az átlagos szám van hozzárendelve. Például, ha létrehoz egy sor három számjegy, és a korábbi 121, majd négyszögesítése az eredményt adja 14641. izolálása három szekunder szám meghozta a következő véletlen szám 464. A hátránya ennek a módszernek, hogy nagyon rövid ismétlés időszak, az úgynevezett ciklus . Emiatt ezt a módszert nem használják ma. A jelenlegi eljárások véletlen szám generálás lényegesen bonyolultabb.
Véletlen számok PHP
A PHP-két csoport funkciók dolgozni véletlen számokat. Külsőleg nem lehet őket megkülönböztetni előtag mt_ minden funkciója az egyik csoport.
elavult funkciók
A függvény rand. Ez visszatér értéke nulla és RAND_MAX közé fog esni (ami egyenlő 32767). Lehet két opcionális egész szám paraméter - ha vannak megadva, egy véletlen számot az első paraméter a második.
Az srand függvény. Ez meghatározza a sorozat a véletlen számok által kiadott funkció rand. Ez egy paraméter - különböző értékei ennek a paraméternek rand fog különböző számsorozatok. Srand függvény elég ok csak egyszer, mielőtt az összes hívás rand függvény. Használati példa:
Figyelem! Kezdve verzió PHP 4.2.0 nem kell hívni srand () - PHP ezt automatikusan megteszi.
getrandmax () függvény. Legnagyobb értékét adja a véletlenszám (32767).