>백엔드 개발 >PHP 튜토리얼 >新人、中奖概率问题

新人、中奖概率问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-20 12:35:031063검색

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:if条件不执行다음 기사:PHP模板+工厂设计模式