gpt4 book ai didi

php随机数生成

转载 作者:可可西里 更新时间:2023-10-31 22:53:55 26 4
gpt4 key购买 nike

我的任务:

生成 1 到 20 之间的随机数,精确到小数点后一位。

但是我的问题和 mt_rand 一样简单。我希望生成的大多数数字在 0.5 - 4.5 左右较低,偶尔的数字在 4.5-10 之间,很少说每 12-20 小时一次在 10-20 之间。

我一直在使用以下内容,但不知道从哪里开始。我是一个非常基础的自学程序员。

$min = 1;
$max = 20;
$suisse_interest = mt_rand ($min*10, $max*10) / 10

也许如果我简要解释一下我想要这个的原因可能会有所帮助..

我拥有一个在线游戏,想添加 3 个“银行”,每个银行每小时产生不同的利息。大多数时候我希望它很低,但有时会更高,而且很少非常高 (15-20%)。

使用上面的代码,随机数变得太高了。

非常感谢任何帮助!

最佳答案

您需要进行指数计算。如果您使用类似于以下函数的函数,则低数字的概率会增加。当然,您需要稍微调整数字以提供适合您需要的输出。

$i = 0;
while($i<30) {
$i++;
$rand = mt_rand(0, 7000) / 100; // 0.0 ~ 70.0
// This is the most important line:
$output = round( 20*(pow(0.95,$rand)) , 1);
echo "$output ";
}

示例输出:

1.8  4.3  2.6  5.5  3.7  15.5  1.6  0.6  0.6  1.6  5.8  1.3  6.1  3.2  0.8  1.7  14.7  7.9  1.3  10.3  5.5  12.6  1.5  8.4  1.5  0.9  13.3  5.8  7.5  1.7  

如您所见,打印的数字大多较小。

Chart

在我的代码中,获得 20 的概率约为 1.4%,而获得小于 5 的概率约为 >78%

关于php随机数生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28656272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com