2
随机从10个数里面随机3个出来。
每个数有一个权重值.
1 概率:8000
2 概率:1000
3 概率:500
4 概率:10
5 概率:10
6 概率:10
7 概率:10
8 概率:10
9 概率:10
10 概率:10
假设已知随机数生成函数,均匀随机生成一个[min, max]区间的数
int myRand(int min, int max);
生成具有权重的随机数。随机数ranIndex生成的区间为权重的总和,根据权重分割子区间。
//************************************
// Method: GetRandomNumWithWeight
// Desc: 生成具有权重的随机数。随机数ranIndex生成的区间为权重的总和,根据权重分割子区间。
// Author: ljm
// Date: 2019/07/18
// FullName: GetRandomNumWithWeight
// Access: public
// Returns: void
// Qualifier:
// Parameter: vector<int> weight :权重
// Parameter: int number :随机数数量
//************************************
void GetRandomNumWithWeight(vector<int> weight, int number)
{
int size = weight.size();
//计算权重的总和
int accumulateVal =