php取随机数的概率算法

这个问题有点模糊。我先把“保留两位小数”解释为“[输出随机数]保留两位小数”,而不是其他因素保留多少位小数。

“1-10”也被理解为包括1和10在内的两个数之间的小数。

将10-50理解为10.01到50.00之间的数,不包括10.00。诸如此类。

& lt?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

功能?genRandom(){

$ p =兰特(1,100);

if($ p & lt;=60)?$ r =兰特(100,1000);

else if($ p & gt;60?然后呢。$ p & lt=85)?$ r =兰特(1001.5000);

else if($ p & gt;85?然后呢。$ p & lt=95)?$ r =兰特(5001,10000);

不然呢?$ r =兰特(10001,?20000);

回归?100雷亚尔;

}

$ a = array();

$ total = 50000

for($ I = 0;$ i & lt总计美元;$i++){

$ c = gen random();

if($ c & gt;=1?然后呢。$ c & lt=10)?$ p = 0;

else if($ c & gt;10?然后呢。$ c & lt=50)?$ p = 1;

else if($ c & gt;50?然后呢。$ c & lt=100)?$ p = 2;

else if($ c & gt;100?然后呢。$ c & lt=200)?$ p = 3;

不然呢?$ p = 4;

如果(!array_key_exists($p,?$a))?$ a[$ p]= 1;

不然呢?$ a[$ p]++;

}

如果(!数组_键_存在(4,?$a))?$ a[4]= 0;

回声?“样本总数”。总计美元。“< br/>”;

回声?“1-10样本号”。$a[0]。',?($ a [0]/$ total * 100)。”%

回声?" & gt10-50样本号”。$a[1]。',?($ a [1]/$ total * 100)。”%

回声?" & gt50-100样本量”。$a[2]。',?($ a [2]/$ total * 100)。”%

回声?" & gt100-200样本量”。$a[3]。',?($ a [3]/$ total * 100)。”%

回声?“其他样品的数量”。$a[4]。',?($ a [4]/$ total * 100)。”%

1-10样本号30052,?占60.104%

& gt10-50样品编号12404,?占24.808%

& gt50-100样品编号4993,?占9.986%

& gt100-200样品号2551,?占5.102%

其他样本数0,?0%