问题描述:
我想生成10个数,范围为0~9,其中生成的数以及生成的概率如下
0------------10%
1------------20%
2------------5%
3------------30%
4------------5%
5------------5%
6------------5%
7------------10%
8------------5%
9------------5%
那怎么做呢?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
var
id:int;var
random:Number
= Math.random();if(random
< 0.1) id
= 0;else
if(random
< 0.3) id
= 1;else
if(random
< 0.35) id
= 2;else
if(random
< 0.65) id
= 3else
if(random
< 0.7) id
= 4;else
if(random
< 0.75) id
= 5;else
if(random
< 0.8) id
= 6;else
if(random
< 0.9) id
= 7;else
if(random
< 0.95) id
= 8;else
if(random
< 1) id
= 9; |

当0<=random<0.1(区间跨度0.1) id = 0;
当0.1<=random<0.3(区间跨度0.2) id = 1;
当0.3<=random<0.35(区间跨度0.05) id = 2;
当0.35<=random<0.65(区间跨度0.3) id = 3;
当0.65<=random<0.7(区间跨度0.05) id = 4;
当0.7<=random<0.75(区间跨度0.05) id = 5;
当0.75<=random<0.8(区间跨度0.05) id = 6
当0.8<=random<0.9(区间跨度0.1) id = 7
当0.9<=random<0.95(区间跨度0.05) id = 8
当0.95<=random<1(区间跨度0.05) id =9
本文介绍了一种根据指定概率分布生成特定数值的方法。通过设置不同的概率区间,可以实现对0到9这10个数字按预设概率进行随机抽取。此算法适用于需要按照特定概率分布生成随机数的场景。

1146

被折叠的 条评论
为什么被折叠?



