三个色子,每个色子为1至6点,如果要增大色子大于3点的机率,试试下面公式:
$r=rand(1,100);
$sezi=intval(sqrt($r)*6/10);
以上得到$sezi取值范围为1~6
因为$r>=50的机率和$r<50的机率相等。
而且intval(sqrt(45)*6/10)=4
这样等到$sezi>3的概率就要大些
$r=rand(1,100);
$sezi=intval(sqrt($r)*6/10);
以上得到$sezi取值范围为1~6
因为$r>=50的机率和$r<50的机率相等。
而且intval(sqrt(45)*6/10)=4
这样等到$sezi>3的概率就要大些
<?php
for($i=0; $i<10;$i)
{
$aa=rand(1,10);
if($aa>5 and $bb1<3)
{
$bb1++;
$i++;
$cc[]=$aa;
}
if($aa<4 and $bb2<7)
{
$bb2++;
$i++;
$cc[]=$aa;
}
}foreach($cc as $key=>$val) {
print $val."<br>";
}
?>
人为做一个数组(字符串),其中的数字就是你要输出的元素,但是有的元素可重复出现,重复的次数根据你想要的分布规律选
用随机函数随机生成一个指向该数组(字符串)的下标(0..N-1, N 为长度),用下标取元素就OK了下面的例子,表示加大“大”的几率
<?
$BigSelection = "123456677788889999"
$Result = $BigSelection[rand(0, strlen($BigSelection)-1)];
?>用这个方法,你可以做出任意的分布规律,例如“小”、“大”、“两头”、“中间”……
你想概率是多少就是多少.