php工作笔记7-概率算法

时间:2024-04-14 16:16:50

a/m  b/m   c/m   d/m   
10%    40%    20%

a+b+c+d+... < = m

array k   =  {a,b,c...}

randt = rand(1,m)

1~a   0                     10
 
1+a ~ a+b    0              11 50

1+a+b ~a+b+c    0           51 70

$length = count(array k );3

for($j=1;$j<=$length;$j++){

pmin[$j] = 1; pmax[$j] = array k[0];

for($i=0;$i<$j;$i++){

if($i>0){
pmin[$j] += array k[$i-1];
pmax[$j] += array k[$i];
}

}//end for 1

for($j=0;$j<$length;$j++){

pmin[$j] = 1; pmax[$j] = array k[$j];

for($i=0;$i<=$j;$i++){

if($i>0){
pmin[$j] += array k[$i-1];
pmax[$j] += array k[$i];
}

}//end for 1.2

if(randt >= pmin[$j] && randt <= pmax[$j]){   alert($j); }

}end for 2