Losowanie liczb
Ostatnio zmodyfikowano 2010-05-26 18:49
matic Temat założony przez niniejszego użytkownika |
Losowanie liczb » 2010-05-24 18:20:40 Witam!
Czy mógłby mi ktoś wytłumaczyć jak zrobić losowanie liczb z takim założeniem założeniem:
1-10 jest największe prawdopodobieństwo, 11-20 mniejsze, 21-25 jeszcze mniejsze itd.
Z góry dzięki za pomoc.
P.S. Wiem, że ktoś się pewnie zaraz doczepi, że oczekuję gotowego rozwiązania, ale bardzo mi się to przyda, a sam nie mam pojęcia jak to wykonać. |
|
DejaVu |
» 2010-05-24 19:58:18 Tak samo jak byś to zrobił rachunkiem prawdopodobieństwa.
Możesz tez zrobić np tak: ustal wspólny mianownik, a następnie losuj licznik i na podstawie wartości licznika określaj wylosowaną wartość. |
|
jacek_k |
» 2010-05-24 19:58:19 Można zrobić np. tak: double P =( rand() % 1000 + 1 ) / 1000.0; if( P >= 0.5 )
else if( P >= 0.25 )
else if( P >= 0.125 )
EDIT: Ech, nie zdążyłem |
|
Aithne |
» 2010-05-26 17:39:30 Prawie dobrze ;) Lepiej będzie, jak losowanie będzie wyglądać tak: rand() *( 1.0 /( RAND_MAX + 1.0 ) ); Lepiej dlatego, że to daje nam rozkład jednostajny, a losowanie z kodu wyżej tego nie spełnia ;) Jak używać randa ;) |
|
filipesq |
» 2010-05-26 18:49:26 Jest coś takiego jak opcja szukaj. Niedawno miałem ten sam problem... |
|
« 1 » |