有时候需要产生随机数。并让这些随机数出现以概率的方式出现
下面举个例子:
随机产生1-8的整数,
希望
1的概率是50%
2的概率是10%
3的概率是10%
4的概率是10%
5的概率是5%
6的概率是5%
7的概率是5%
8的概率是5%
想法:
先随机1-100的随机整数
然后出现的随机数在1-50的概率为50%
由此可以设为出现1概率
代码
var numdsf = Math.floor(Math.random()*100)+1;
if(numdsf>=1&&numdsf<=50){
var i = 1;
}else if(numdsf>=51&&numdsf<=60){
var i = 2;
}else if(numdsf>=61&&numdsf<=70){
var i = 3;
}else if(numdsf>=71&&numdsf<=80){
var i = 4;
}else if(numdsf>=81&&numdsf<=85){
var i = 5;
}else if(numdsf>=86&&numdsf<=90){
var i = 6;
}else if(numdsf>=91&&numdsf<=95){
var i = 7;
}else if(numdsf>=95&&numdsf<=100){
var i = 8;
}
这样设置下来。那么i的出现概率正好符合我想要的随机数的概率。
0.001%,0.5%那些极低概率。同样可以用这个方法,只不过是增加随机数而已。