gpt4 book ai didi

c++ - 如何根据一定的概率得到一个值

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:27 24 4
gpt4 key购买 nike

我有一些函数可以生成 double、float、short、long 随机值。我有另一个函数,我将数据类型传递给它并且应该返回一个随机值。现在我需要在该函数中根据传递的数据类型选择返回值。例如,如果我传递 float,我需要:

返回为 float 的概率为 70%,返回为双倍数、空头或多头的概率各为 10%。我可以调用另一个函数来生成相应的随机值,但我如何适应最终返回的概率权重?我的代码是用 C++ 编写的。

一些指点表示赞赏。

谢谢。

最佳答案

C++ 随机数有 uniform distribution .如果您需要random variables另一个distribution您需要将其数学公式基于均匀分布。

如果您没有随机变量的数学公式,您可以这样做:

int x = rand() % 10;
if (x < 7)
{
// return float
}
else (if x == 7)
{
// return double
}
else (if x == 8)
{
// return short
}
else (if x == 9)
{
// return long
}

关于c++ - 如何根据一定的概率得到一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com