求c#实现概率问题?通分、约分……
现在要做一个抽奖功能。
给出的条件是
奖品 概率
a 0.02
b 0.05
c 0.1
自己网上查了一下,看到有的朋友说生成2个a,5个b,10个c,然后自己补100-2-5-10个其他的,然后随机抽取,感觉这样实现也没什么问题。
但是就是公约数、公倍数这些问题不好实现。
例如概率0.02的问题,我是该在100个奖品里面设置2个a好能,还是再50个奖品里面设置一个a好?
至于100还是1000是由概率的分母最小公倍数确定的。但是由于小数转为分数不怎么好转,我都是以10为单位,例如:0.02计算出分母是100,0.004计算出分母是1000,由这些分母计算出来的最小公倍数(1000)其实不是实际的最小公倍数,例如上面的例子其实是1/50和2/500,所以分母的最小公倍数是500。
请问有没有好的方法实现这个问题???