2012-05-19 6 views
-1

У меня на моем сайте что-то вроде этого: есть сетки, участники нажимают на них случайным образом, они просматривают веб-страницу, а затем узнают, выиграли ли они или нет. У них ограниченное количество шансов ежедневно.Расчет вероятности

Мой алгоритм для расчета вероятности выигрыша приза:

  1. Произвольно выбрать число от 1 до 10000
    1а. если это число равно 1 члену побед X
    1b. если это число = < 5 член выигрывает Y и т.д.

Есть еще один способ, чтобы вычислить это, или я должен контролировать призы с дополнительными кодами (например, если сегодня х участник выиграл сумму у приза Прекратите давать призы)?

Спасибо.

+2

У вас есть две проблемы: 1. выиграл ли пользователь? 2. Есть ли призы на сегодня? Не совсем ясно, в чем проблема ... – nico

+0

@logi: Как это возможно 1a и 1b? У вас есть несколько членов для числа? – Bytemain

+0

Я думаю, что есть миллион других способов рассчитать это. выбирайте все, что пожелаете. –

ответ

1

Да, есть несколько других способов рассчитать это, но ваша идея достаточно хороша. Вы также можете использовать следующий псевдокод:

int randomnumber = generaterandomnumber(); 
bool allprizesgone = getinformationfromdatabase(); 
if (allprizesgone equals false) { 
    if(randomnumber equals 1) { 
     member wins X 
     if(checkifallprizesfortodayaretakes() equals true) { 
      setinformationtodatabase(allprizesgonetrue); 
     } 
    } else if (randomnumer is smaller than 5){ //because of else if members can't get both prizes 
     member wins Y 
     if(checkifallprizesfortodayaretakes() equals true) { 
      setinformationtodatabase(allprizesgonetrue); 
     } 
    } 

} 
Смежные вопросы