![]() |
Рандом и Вероятности!
всем привет!
Надо написать Функцию котороя выдает случайные числа (к примеру от 1 - 7) с определенной вероятнсть типо 1-(12 раз из 100) 2-(5 раз из 100) 3-(1 из 100) 4-(30 из 100) 5-(22 из 100) 6-(15 из 100) 7-(15 из 100) .... вообщем число ни столь важны ! как это сделать ? |
Re: Рандом и Вероятности!
Чемто напоминает игровые автоматы. поидее выиграть можно зная что это лохотрон =)
|
Задаем случайное число от 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 |
Re: Рандом и Вероятности!
if FLOOR(test/floor(x))>0 retrun Z
if (test-x)>0 return Z срабатывает при преодолении барьера в х процентов, т.е. test=50..100 |
Re: Рандом и Вероятности!
if (test-x)>0 return Z
А теперь по русски: пишешь последовательность вот таких строчек с Z равным интересующим числам в обратном порядке (сначала для для Z соответствующих большим значениям равномерно распределнного случайного числа (это которое выпавший процент)). test'ом для каждого Z должна быть нижняя граница диапазона процентов для этого Z. Можно по-другому: Берешь случайный процент. Перебираешь все Z по порядку и считаешь суммарную вероятность выпадения всех этих чисел (12+5+1+30+...), и как только на N-ом Z эта сумма станет больше выброшенного случайного числа процентов, возвращаешь предыдущее значение Z, (N-1)-е (Н-минус-первое :) ) |
Re: Рандом и Вероятности!
Вложений: 2
вот я написал код, вроде так !! :dontknow:
Вложение 4538 |
Re: Рандом и Вероятности!
чё , некто незатестил ?? :(
или напишите свой, может я неправельно чё зделал так как смысл темы до конца не понял !! |
Часовой пояс GMT +4, время: 06:40. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot