我在我的基於Web的應用程序中製作彩票系統,所以它在JavaScript中,但我的問題更加數學化,所以隨意用其他語言編寫片段。彩票系統鍋部
我要分發的彩票鍋內贏家自然的感覺方式,例如:
var pot = 1000;
var tickets = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
tickets = shuffleArray(tickets); //shuffle tickets for winners
//first half wins something (2 should be changeable)
var winners_count = Math.ceil(tickets.length/2);
在這種情況下,我需要一種方法來劃分在10名獲獎者,其中第一位獲得最多的整鍋和(10)最少。
for(var i=0; i<winners_count; i++){
var ticket = tickets[i];
//formula to determine percentage of pot to gain needed.
}
例子的結果:(只是向你展示它需要的地方去,而不是實際的比賽)
1 - 22%
2 - 18%
3 - 14%
4 - 12%
5 - 10%
6 - 8%
7 - 7%
8 - 5%
9 - 3%
10 - 1%
我相當糟糕,在數學和一些指針和/或代碼段將幫助我解決這個問題很多。
編輯
從法比安斯基Roualdes解決方法:http://jsfiddle.net/LB8YU/1/
你從哪裏拿出22,18,14等...?這只是一個例子,你從頭頂上做出的? – JayGee
@JayGee我只是移動數字,直到我得到了100%的總數,所以是從我的頭頂上 – MakuraYami