标签:
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
标签:
原文地址:http://www.cnblogs.com/wl14253/p/5065578.html