如果每个整数都有不同的概率,如何获得随机整数?

问题描述 投票:0回答:1

我想准确地生成一个随机人的年龄,因为有 n0 个人是 0 岁,n1 个人是 1 岁等等

我该怎么做?

我发现自己对这个话题完全不了解。

我希望输出是单个数字

c++ random discrete-mathematics
1个回答
0
投票

为此,您可以使用

std::discrete_distribution

示例:

#include <random>

// …

std::mt19937 prng(std::random_device{}());
double n0 = 1;
double n1 = 2;
double n2 = 7;
std::discrete_distribution<unsigned> dist({n0, n1, n2})

… = dist(prng);

演示

© www.soinside.com 2019 - 2024. All rights reserved.