我需要生成四个随机生成的数字,它们的总和必须为 100。这些数字必须在 1 到 100 的范围内。
我该怎么做?
最佳答案
您可以生成四个随机数,例如在 0..100 范围内,然后重新调整它们的总和为 100:
x_i' = 1 + x_i*96.0/sum
此解决方案不提供 {x_i} 的均匀分布。
@PeterWood 为这个问题找到了更好的答案 Random numbers that add to 100: Matlab
关于c++ - 如何生成总和为 100 的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088309/