猿问

一个抽奖的算法

求一个抽奖的算法 , 在下面数组的 8个对象中 抽奖, 根据 后面的 中奖概率,返回 a,b,c
中奖概率这个 可以不遵循 全加起来为 100%

[
    {"a", 20.00%},
    {"b", 20.00%},
    {"c", 20.00%},
    {"d", 10.00%},
    {"e", 10.00%},
    {"f", 10.00%},
    {"g", 10.00%},
    {"h", 0.05%},
]
慕容3067478
浏览 546回答 3
3回答

慕虎7371278

可以假定总的概率为1-100 a为1-20 b为21-40等等 h取一个数,比如78 这样是最简单的可以加工一下,比如随机到78,就在随机一次,如果在中,就在随机一次,设置一个最大重随机次数,比如5次,如果5次都随机为78就算中大奖,这个最大重随机次数根据你的实际情况进行设置

动漫人物

a-h总中奖概率为100,那么可以将a-h看成一条直线,根据中奖概率,a = 1-20,b=21-40,c=41-60, d=61-70,e=71-80,。这样随机一个1-100的数字,看数字位于哪个区间即可。
随时随地看视频慕课网APP
我要回答