Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja rand() i prawdopodobieństwo
kemot
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 27.09.2007

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Po pierwsze $prawdopodobienstwo = 20;

Z teoretycznego p.widzenia twoje rozwiazanie jest dobre (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z praktycznego punktu widzenia - ciezko powiedziec bo rand() ma swoje humory i nie zawsze losowanie mu dobrze idzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) lepszy jest mt_rand() (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
radmistrz2
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 4
Dołączył: 2.03.2008

Ostrzeżenie: (10%)
X----


Cytat(NuLL @ 31.08.2008, 02:02:27 ) *
Po pierwsze $prawdopodobienstwo = 20;

Z teoretycznego p.widzenia twoje rozwiazanie jest dobre (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z praktycznego punktu widzenia - ciezko powiedziec bo rand() ma swoje humory i nie zawsze losowanie mu dobrze idzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) lepszy jest mt_rand() (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kemot
post
Post #4





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 27.09.2007

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)  
Go to the top of the page
+Quote Post
michaJlS
post
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 9
Dołączył: 21.05.2004
Skąd: Glogau/Breslau

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 31.08.2008, 02:02:27 ) *
Po pierwsze $prawdopodobienstwo = 20;
Z teoretycznego p.widzenia twoje rozwiazanie jest dobre (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Też nie. Wartości prawdopodobieństwa są <=1;)
Go to the top of the page
+Quote Post
ddiceman
post
Post #6





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


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


?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:01