我正在建立一个投注池系统,我必须根据获得的击中次数(某些体育游戏的准确预测)在所有参与者之间分配头奖,更多的击中意味着更大的奖金。
例如,如果我们要为该投注池分配1000个硬币头奖,可以使用以下分配:
在这种情况下,是否有任何算法可以计算出给每个获奖者的奖金?
答案 0 :(得分:4)
一种方法是不知道您想如何分配奖品,而是计算所有用户的总命中数,然后将头奖除以该数字,以找到授予每个命中的奖品。
然后,您可以为每个用户提供奖赏,该奖赏是该数字乘以点击数。
答案 1 :(得分:1)
您可以简单地定义点击次数所占的份额
Hits, winWeight, numberOfWinners
5, 24, n(5)
4, 12, n(4)
3, 4, n(3)
2, 2, n(2)
1, 1, n(1)
将您将这些值乘以获胜者数量即可得到:
total=24*n(5)+12*n(4)+4*n(3)+2*n(2)+1*n(1)
现在您要计算多少个硬币:
jackpot/total * 24 = pricePerWinner for 5 hits
jackpot/total * 12 = pricePerWinner for 4 hits
jackpot/total * 4 = pricePerWinner for 3 hits
jackpot/total * 2 = pricePerWinner for 2 hits
jackpot/total * 1 = pricePerWinner for 1 hit
答案 2 :(得分:0)
计算总点击量。
5*6 = 30
4*40 = 160
3*80 = 240
2*20 = 40
1*15 = 15
0*2 = 0
如果将它们全部加在一起,则总计为
30+160+240+40+15+0=485
因为累积奖金有1000个硬币。
1000/485 ~= 2
这意味着每次匹配都会授予2个硬币。
例如。 5次点击将意味着每个获胜者10个硬币