Home  >  Article  >  Backend Development  >  新人、中奖概率问题

新人、中奖概率问题

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

我们公司签到得积分,用积分抽奖,我用下面的方法设定中奖概率,这样会有问题吗
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
约为 千分之三,是你预期的吗?

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:if条件不执行Next article:PHP模板+工厂设计模式