Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja rand() i prawdopodobieństwo
Forum PHP.pl > Forum > PHP
kemot
Mam w sumie dość banalne pytanie, które wymaga krótkiej odpowiedzi. Ale może najpierw kod:


  1. <?php
  2.  
  3. $prawdopodobieństwo == 20;
  4.  
  5. $zmienna == rand(1,100);
  6.  
  7. if ($zmienna <= $prawdopodobieństwo) {
  8.  
  9. echo 'Udało się, blok instrukcji został wykonany';
  10.  
  11. } else {
  12.  
  13. echo 'Niestety nie udało się';
  14.  
  15. }
  16.  
  17. ?>


I moje pytanie brzmi: czy prawdopodobieństwo że pierwszy blok instrukcji zostanie wykonany wynosi 20% czy też może funkcja rand() działa tak że nie da się określić prawdopodobieństwa zwrócenia danego wyniku?
NuLL
Po pierwsze $prawdopodobienstwo = 20;

Z teoretycznego p.widzenia twoje rozwiazanie jest dobre smile.gif Z praktycznego punktu widzenia - ciezko powiedziec bo rand() ma swoje humory i nie zawsze losowanie mu dobrze idzie winksmiley.jpg lepszy jest mt_rand() smile.gif
radmistrz2
Cytat(NuLL @ 31.08.2008, 02:02:27 ) *
Po pierwsze $prawdopodobienstwo = 20;

Z teoretycznego p.widzenia twoje rozwiazanie jest dobre smile.gif Z praktycznego punktu widzenia - ciezko powiedziec bo rand() ma swoje humory i nie zawsze losowanie mu dobrze idzie winksmiley.jpg lepszy jest mt_rand() smile.gif




dokładnie się z tym zgodzę. Ja miałem kiedyśtaki problem tylko że musiałem wygenerować w losowej kolejności liczby od 1 do 100. Wtedy pętla for wszystko załatwiała winksmiley.jpg
kemot
Wiem, że użyłem polskiego znaku ale pisałem kod z palca i nie sprawdzałem czy jest poprawy jeśli chodzi o składnie. Właśnie czytałem o mt_rand i podobno jest 4x szybsza od rand. A więc skoro można teoretycznie uznać, że można w ten sposób uwzględniać prawdopodobieństwo. Dzięki winksmiley.jpg 
michaJlS
Cytat(NuLL @ 31.08.2008, 02:02:27 ) *
Po pierwsze $prawdopodobienstwo = 20;
Z teoretycznego p.widzenia twoje rozwiazanie jest dobre smile.gif

Też nie. Wartości prawdopodobieństwa są <=1;)
ddiceman
Cytat(radmistrz2 @ 31.08.2008, 09:41:20 ) *
dokładnie się z tym zgodzę. Ja miałem kiedyśtaki problem tylko że musiałem wygenerować w losowej kolejności liczby od 1 do 100. Wtedy pętla for wszystko załatwiała winksmiley.jpg


a nie wystarczy
  1. <?php
  2. $liczby = range(1,100);
  3. shuffle($liczby)
  4. ?>


?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.