c++ - 在 C++ 中生成具有固定总和的随机值

标签 c++ random

<分区>

我在网上看到了很多关于这个问题的答案,但是,你能相信我吗?我仍然没有得到这个问题的解决方案。我有一组值。这个数组的大小是“n”。我也有定义值“sum”。我想要的是生成“n”个随机值,使其总和等于“总和”,最好是均匀分布,否则(例如)第一个随机数等于“总和”,其余随机数等于零不是很好。我需要两种算法来完成这项任务。一种是正整数,另一种是正 float 。非常感谢!

最佳答案

首先生成n个随机变量。然后将它们加起来:randomSum。计算系数总和/随机总和。然后将所有随机变量乘以该系数。

整数会带来问题...也(可能)四舍五入

关于c++ - 在 C++ 中生成具有固定总和的随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24043060/

相关文章:

C++ 帮助 - getline

C++ 奇怪的访问冲突 Visual Studio 2015 RC

javascript - 使用 javascript 或 jquery 的随机单词弹出脚本

java - 2 个随机数似乎给出了几乎相同的结果

c++ - C++中引用变量的大小

c++ - 将 int 附加到 std::string

c++ - C++中如何调用递归链表遍历函数

random - 代表性样本量计算。

c++ - 为什么具有随机数生成功能的 OpenMP 比串行代码慢

javascript - 为大范围整数生成随机顺序的聪明方法?