开发奖励盒算法

时间:2020-08-01 04:03:51

标签: php algorithm probability

我正在尝试建立一种概率算法,该算法将根据这些概率为用户提供奖励。

1 $-60%

2 $-25%

5 $-12%

10 $-1.99%

50 $-1%

500 $-0.01%

我该怎么做?你能给我例子代码吗?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

您可以在此处使用rand函数。将所有概率乘以100即可使用整数类型,它们的总和为10000。生成1到10000之间的随机数。现在,如果随机数介于10和10000之间,则概率为60% ,1和6000,则奖励为1 $,其他概率以此类推。

<?php

function reward() {

    $random = rand(1, 10000);

    if($random >= 1 && $random <= 6000) {
        $reward = 1;
    } else if($random > 6000 && $random <= 8500) {
        $reward = 2;
    } else if($random > 8500 && $random <= 9700) {
        $reward = 5;
    } else if($random > 9700 && $random <= 9899) {
        $reward = 10;
    } else if($random > 9899 && $random <= 9999) {
        $reward = 50;
    } else {
        $reward = 500;
    }

    return $reward;
}

echo reward();

?>