Heim  >  Artikel  >  Backend-Entwicklung  >  新人、中奖概率问题

新人、中奖概率问题

WBOY
WBOYOriginal
2016-06-20 12:35:03988Durchsuche

我们公司签到得积分,用积分抽奖,我用下面的方法设定中奖概率,这样会有问题吗
if ( rand(1,10)==1 ) {
        echo "四等级";
}
else if ( rand(1,100)==1 ) {
        echo "三等级";
}
else if ( rand(1,200)==1 ) {
        echo "二等奖";
}
else if ( rand(1,300)==1 ) {
        echo "一等奖";
}
else {
        echo "幸运奖";
}
?>


回复讨论(解决方案)

那么你的
一等奖 抽中概率为 9 /10 * 99/100 * 199/200 * 1/300 = 0.00295515
约为 千分之三,是你预期的吗?

问题是没啥问题,  就是除了   四等级 和幸运奖,  别的奖概率太小了

概率:
0.1    
0.009   
0.00445   
0.0029   
0.883

那么你的
一等奖 抽中概率为 9 /10 * 99/100 * 199/200 * 1/300 = 0.00295515
约为 千分之三,是你预期的吗?

我主要是看这样写有没有问题

问题没有,只要符合你的预期
你要想指定各奖次的概率,就比较麻烦了(算的头发昏)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:if条件不执行Nächster Artikel:PHP模板+工厂设计模式