代码内容如下:
<?php
$w = array('a' =>1, 'b'=>10, 'c'=>14, 'e'=>20, 'f'=>30, 'h'=>6, 'g'=>70);
function roll($weight)
{
$sum = array_sum($weight);
$j = 0;
foreach($weight as $k=>$v)
{
$j = mt_rand(1,$sum);
if($j <= $v)
{
return $k;
}else{
$sum -= $v;
}
}
}
$ret = array();
$n = 1000;
for($i=0;$i<$n;$i++)
{
$v = roll($w);
$ret[$v] = isset($ret[$v]) ? $ret[$v] + 1 :1;
}
print_r($ret);
foreach($ret as $k=>$v)
{
printf("real: %f\t", ($v / $n));
printf("set: %f\n",($w[$k] / array_sum($w)));
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。