forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Рандом и Вероятности! (http://forum.boolean.name/showthread.php?t=4329)

Horror 02.09.2007 20:47

Рандом и Вероятности!
 
всем привет!

Надо написать Функцию
котороя выдает случайные числа (к примеру от 1 - 7)
с определенной вероятнсть
типо
1-(12 раз из 100)
2-(5 раз из 100)
3-(1 из 100)
4-(30 из 100)
5-(22 из 100)
6-(15 из 100)
7-(15 из 100)
....
вообщем число ни столь важны ! как это сделать ?

magpro 02.09.2007 20:49

Re: Рандом и Вероятности!
 
Чемто напоминает игровые автоматы. поидее выиграть можно зная что это лохотрон =)

Данил 02.09.2007 21:37

Задаем случайное число от 1 до 100...
допустим, если это случайное число в диапазоне 1-10, то возврашаем 1, если в диапазоне 11-15 , то возвращаем 2 и т.п.

Function Randrom ()
Local test
test = Rnd(0,100)
If test>1 And test<15 Then Return 1
If test>16 And test<30 Then Return 2
If test>31 And test<40 Then Return 3
If test>41 And test<50 Then Return 4
If test>51 And test<70 Then Return 5
If test>71 And test<80 Then Return 6
If test>80 And test<99 Then Return 7
End Function

impersonalis 02.09.2007 22:05

Re: Рандом и Вероятности!
 
if FLOOR(test/floor(x))>0 retrun Z

if (test-x)>0 return Z

срабатывает при преодолении барьера в х процентов, т.е. test=50..100

Serendipity 03.09.2007 11:32

Re: Рандом и Вероятности!
 
if (test-x)>0 return Z

А теперь по русски:
пишешь последовательность вот таких строчек с Z равным интересующим числам в обратном порядке (сначала для для Z соответствующих большим значениям равномерно распределнного случайного числа (это которое выпавший процент)).
test'ом для каждого Z должна быть нижняя граница диапазона процентов для этого Z.

Можно по-другому:
Берешь случайный процент.
Перебираешь все Z по порядку и считаешь суммарную вероятность выпадения всех этих чисел (12+5+1+30+...), и как только на N-ом Z эта сумма станет больше выброшенного случайного числа процентов, возвращаешь предыдущее значение Z, (N-1)-е (Н-минус-первое :) )

IGR 07.09.2007 12:28

Re: Рандом и Вероятности!
 
Вложений: 2
вот я написал код, вроде так !! :dontknow:
Вложение 4538

IGR 07.09.2007 16:51

Re: Рандом и Вероятности!
 
чё , некто незатестил ?? :(
или напишите свой, может я неправельно чё зделал так как смысл темы до конца не понял !!


Часовой пояс GMT +4, время: 06:40.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot