Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 13. 5. 2011, 23:04:12
Zdravím..
Přemýšlel jsem, a napsal jsem tuto funkci: function cislo() { return ((rand(1,100) == 50) ? 50 : cislo()); } echo cislo(); // Vrací okamžitě 50 Zajímá mě, jakto, že funkce vratí ukamžitě číslo 50, bez jakéhokoliv načítání stránky.. Když si to tak trochu rozeberete, tak ta funkce se musí strašně hodněkrát opakovat, dokud nenajde to číslo (nehledě na to, kdybych tam dosadil tisíce, či miliony, načítaní by trvalo stejně možná maximalně tak sekundu).. Jak je tedy možné, že tento skript, se načte okamžitě v prohlížeči? Děkuju, b :) |
||
puzzle Profil |
#2 · Zasláno: 13. 5. 2011, 23:07:26
Pokud vím tak script funguje pouze určitou dobu a pokud v té době nenajde 50 tak se ukončí bez toho čísla....
|
||
DJ Miky Profil |
#3 · Zasláno: 13. 5. 2011, 23:15:30
Těch opakování není zase tolik, aby se to za tak krátkou dobu nestihlo. Zkoušel jsem to narychlo změřit, 1000 opakování té tvé funkce mi trvá okolo jedné milisekundy (tzn. za sekundu by jich mohlo být cca milion). A 1000 opakování bez problémů stačí na nalezení čísla, u kterého je pravděpodobnost 1:100.
|
||
BuGeR Profil |
#4 · Zasláno: 13. 5. 2011, 23:26:35
Dobře, takže v tom není nic jiného než jen zkoušení toho čísla (?) :)
Jinak..musíte také brát k úvahu, že ty čísla se můžou opakovat (např: 10, 20, 10, 50). Ale i tak, děkuju :) |
||
puzzle Profil |
#5 · Zasláno: 13. 5. 2011, 23:30:10
ano je to náhodné vybírání čísel, takže 100% pravděpodobnost, že se vybere číslo 50 neni
|
||
Keeehi Profil |
#6 · Zasláno: 13. 5. 2011, 23:54:12 · Upravil/a: Keeehi
BuGeR:
Při tisíci opakování je pravděpodobnost, že ani jednou nepadne 50 0,0043%. (teda pokud jsem dobře počítal) Při milionu opakování (což by trvalo sekundu) mi vychází tak malá pravděpodobnost, že už mi to ani kalkulačka nebere a ukazuje 0%. Poslední co zvládne je 22681 opakování a píše mi to pravděpodobnost 1,00426*10^-99. Myslí, že pro představu to stačí. |
||
BuGeR Profil |
#7 · Zasláno: 14. 5. 2011, 09:03:40
puzzle:
Dobře, něco takového jsem čekal, děkuju moc! :-) |
||
Časová prodleva: 13 let
|
0