gpt4 book ai didi

PHP - rand(1,1000) = 1000 的概率与 rand(1,1000) = rand(1,1000) 的概率一样吗?

转载 作者:可可西里 更新时间:2023-11-01 12:43:27 24 4
gpt4 key购买 nike

PHP是这样实现随机数生成的吗?

假设我想计算是或否。每次我都有一定的概率百分比(比如:本例中为 0.05%)。

我愿意:

$possibilities = 100 / $probabilityPercentage; //$possibilities = 2000
$yes = rand(1,$possibilities);

$yesCheck = $possiblities; //OPTION 1
$yesCheck = rand(1,$possibilities); //OPTION 2


($yesCheck == $yes) ? return true : return false;

两种选择的结果是否相同?

最佳答案

让数据说明一切。

代码

vinko@parrot:~$ more rand.php
<?php

$randrandsum = 0;
$randconstsum = 0;
$count = 20;
for ($j = 0; $j < $count; $j++) {
$randrand = 0;
$randconst = 0;
for ($i = 0; $i < 10000000; $i++ ){
$a = rand(1,1000);
$b = rand(1,1000);
if ($a == $b) $randrand++;
}
for ($i = 0; $i < 10000000; $i++ ){
$a = rand(1,1000);
$c = 1000;
if ($c == $a) $randconst++;
}
$randrandsum += $randrand;
$randconstsum += $randconst;
print ($j+1)." RAND-RAND: $randrand RAND-CONST: $randconst\n";
}
print "AVG RAND-RAND: ".($randrandsum/$count);
print " AVG RAND-CONST: ".($randconstsum/$count)."\n";
?>

试运行

vinko@parrot:~$ php rand.php
1 RAND-RAND: 10043 RAND-CONST: 10018
2 RAND-RAND: 9940 RAND-CONST: 10132
3 RAND-RAND: 9879 RAND-CONST: 10042
4 RAND-RAND: 9878 RAND-CONST: 9965
5 RAND-RAND: 10226 RAND-CONST: 9867
6 RAND-RAND: 9866 RAND-CONST: 9992
7 RAND-RAND: 10069 RAND-CONST: 9953
8 RAND-RAND: 9967 RAND-CONST: 9862
9 RAND-RAND: 10009 RAND-CONST: 10060
10 RAND-RAND: 9809 RAND-CONST: 9985
11 RAND-RAND: 9939 RAND-CONST: 10057
12 RAND-RAND: 9945 RAND-CONST: 10013
13 RAND-RAND: 10090 RAND-CONST: 9936
14 RAND-RAND: 10000 RAND-CONST: 9867
15 RAND-RAND: 10055 RAND-CONST: 10088
16 RAND-RAND: 10129 RAND-CONST: 9875
17 RAND-RAND: 9846 RAND-CONST: 10056
18 RAND-RAND: 9961 RAND-CONST: 9930
19 RAND-RAND: 10063 RAND-CONST: 10001
20 RAND-RAND: 10047 RAND-CONST: 10037
AVG RAND-RAND: 9988.05 AVG RAND-CONST: 9986.8

考虑到上述结果,我想说,出于所有实际目的,这两个选项是等效的,在这两种情况下都给出了预期的 1/1000 结果。

关于PHP - rand(1,1000) = 1000 的概率与 rand(1,1000) = rand(1,1000) 的概率一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1284508/

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